网站首页 > 博客文章 正文
有人说,Spring Boot的出现,让Java迎来了又一春,它是Java应用开发的颠覆者,彻底改变了Java应用开发的模式。
以往我们做Spring应用开发,要知道配置哪些类来让Hibernate和Spring一起工作,要知道如何配置view resolver来控制哪个模版进行视图层的展示。经常写了一大堆代码之后发现只是在处理Spring框架本身的配置,根本一行业务逻辑都没有写。
开发完成之后,我们还要考虑部署的问题,且不说部署到非常笨重的应用服务器,比如WebSphere, Weblogic或者JBoss,即使部署到Tomcat或者Jetty这种轻量级容器上面,我们要知道如何配置容器,如何修改配置文件等等。而且在多应用部署到同一个Tomcat的时候,经常会出现冲突。就算我们花了很大力气解决了这些问题,程序部署成功之后,我们很难去了解这个程序的运行状态。有可能我们要配置很多第三方工具来去知道这个应用程序运行状态如何,有哪些参数,环境变量是什么。尽管Spring帮我们解决了依赖注入的问题,简化了一些MVC的流程,但是Spring框架本身集成了越来越多东西,导致其越来越难配置,维护成本成直线上升。
很多时候,Python, Ruby或者JavaScript程序员敲几个命令安装一些库,然后简单的敲几行代码,引入一些框架比如flask,然后直接一个简单的API就可以跑起来了。Java程序员可能还在研究该使用Maven里面的哪个库,如何在代码里面进行配置。
但是现在 Spring Boot的出现让这一情况有了很大的改观。
它使用“习惯优于配置”(项目中存在大量的配置,此外还内置一个习惯性的配置,让你无须手动进行配置)的理念让你的项目快速运行起来。使用Spring Boot 很容易创建一个独立运行(运行jar,内嵌Servlet 容器)、准生产级别的基于Spring框架的项目,使用Spring Boot 你可以不用或者只需要很少的Spring 配置。
【Spring Boot 核心功能】
- 独立运行的Spring 项目
Spring Boot 可以以jar 包的形式独立运行,运行一个Spring Boot 项目只需通过java –jarxx.jar 来运行。
- 内嵌Servlet 容器
Spring Boot 可选择内嵌Tomcat、Jetty 或者Undertow ,这样我们无须以war 包形式部署项目。
- 提供starter 简化Maven 配置
Spring 提供了一系列的starter pom 来简化Maven 的依赖加载,例如,当你使用了spring-boot-starter-web 时,会自动加入如下图所示的依赖包。
- 自动配置Spring
Spring Boot 会根据在类路径中的jar 包、类,为jar 包里的类自动配置Bean,这样会极大地减少我们要使用的配置。当然,Spring Boot 只是考虑了大多数的开发场景,并不是所有的场景,若在实际开发中我们需要自动配置Bean,而Spring Boot 没有提供支持,则可以自定义自动配置。
- 准生产的应用监控
Spring Boot 提供基于http、ssh、telnet 对运行时的项目进行监控。
- 无代码生成和xml 配置
Spring Boot 的神奇的不是借助于代码生成来实现的,而是通过条件注解来实现的,这是Spring 4.x 提供的新特性。
Spring 4.x 提倡使用Java 配置和注解配置组合,而Spring Boot 不需要任何xml 配置即可实现Spring 的所有配置。
SpringBoot 不仅让我们做Java开发变的简单有效,更重要的是SpringBoot彻底颠覆了我们对Java开发的认识,让我们第一次有了”原来Java开发可以这么做” 的感觉。
关于SpringBoot还有非常多值得深入讨论的东西,黑马程序员JavaEE就业班中,不但有对于SpringBoot的讲解,还增加了项目实战,让学员在就业中脱颖而出,全国十八个校区正在火热招中,可以点击 撩小编获取更多信息。
最后,小编整理了SpringBoot的教程,帮助大家进一步了解它。
获取方式:
关注“黑马程序员”头条号,评论转发后后台回复“boot”即可获取。
猜你喜欢
- 2024-10-29 jfinal vue ElementUI OA HRM的前后端分离CRM系统源码免费分享
- 2024-10-29 如何项目性能优化?压力测试,数据分析,代码实战
- 2024-10-29 Spring Boot 3 使用 Java 17 和 Jakarta EE 9,并支持GraalVM 的原生 Java
- 2024-10-29 走进Spring Boot源码学习之路和浅谈入门
- 2024-10-29 7 种提升 Spring Boot 吞吐量神技
- 2024-10-29 教你Spring Boot 2.3 优雅关闭的新姿势
- 2024-10-29 拥抱Kubernetes,再见了Spring Cloud
- 2024-10-29 美团动态线程池实践思路,开源了(美团 线程池)
- 2024-10-29 Spring Boot性能优化:提高响应速度的秘密
- 2024-10-29 Java 9 和Spring Boot 2.0纷纷宣布支持的HTTP/2到底是什么?
你 发表评论:
欢迎- 最近发表
- 标签列表
-
- powershellfor (55)
- messagesource (56)
- aspose.pdf破解版 (56)
- promise.race (63)
- 2019cad序列号和密钥激活码 (62)
- window.performance (66)
- qt删除文件夹 (72)
- mysqlcaching_sha2_password (64)
- ubuntu升级gcc (58)
- nacos启动失败 (64)
- ssh-add (70)
- jwt漏洞 (58)
- macos14下载 (58)
- yarnnode (62)
- abstractqueuedsynchronizer (64)
- source~/.bashrc没有那个文件或目录 (65)
- springboot整合activiti工作流 (70)
- jmeter插件下载 (61)
- 抓包分析 (60)
- idea创建mavenweb项目 (65)
- vue回到顶部 (57)
- qcombobox样式表 (68)
- vue数组concat (56)
- tomcatundertow (58)
- pastemac (61)
本文暂时没有评论,来添加一个吧(●'◡'●)