Spring Boot的诞生就是为了减少我们在项目中的大量手动配置,因为他会基于Spring框架创建出一个独立运行的的项目,这样能为我们的开发减少很多冗余操作。
1. Spring Boot的主要功能
创建独立运行的Spring项目。Spring Boot可以以jar包的形式进行独立运行,只需要通过java -jar ***.jar来运行即可。内部嵌套了Servlet容器。Spring Boot可以选择内嵌的Tomcat、Jetty或Undertow,就可以不用war包形式部署项目。Spring Boot 支持web项目,src/main/resources 下可以有public、static、templates等保存客户端资源文件。内嵌了一个 tomcat,main方法启动以后会自动运行。提供starter简化的Maven配置。Spring提供了很多starter pom 用来简化Maven的依赖包加载,这样可以省去一部分我们配置文件的时间。自动配置Spring。Spring Boot会根据在类路径中的jar包和类,为jar包中的类自动配置Bean,这样会减少很多我们手动配置的步骤。Spring Boot通过main方法启动,他会将main方法类所在的包,作为包扫描的根路径进行扫描。项目监控。Spring Boot对运行时的http、ssh以及telnet等项目进行监控。注解实现并无需xml配置。Spring 4.x之后,Spring Boot不需要借助代码生成,而是通过条件注解来实现的。Spring Boot也不需要任何xml配置就可以实现Spring的所有配置。
2. Spring Boot的优势
能够快速构建项目。项目能够独立运行,不用依靠外部的Servlet容器。能够很大程度上的提高开发和部署项目的效率。提供了对应用项目的监控,可以让我们观测应用运行的状况。对Spring开发框架的无配置集成。配置文件默认只有一个src\main\resource\application.properties。
3. Spring Boot的缺点
版本更新速度比较快,一部分的模块改动比较大。因为减少了手动配置的部分,报错时也就不太好定位。
4. Spring Boot的自动化配置
引入依赖后,加载SpringBoot规定的配置文件,如META-INF/spring.factories,并加载其中定义的配置类。在配置类中会初始化很多Bean,并通过定义的配置信息完成初始化(默认配置信息在application.properties中)。