相较于传统的Spring框架,Spring Boot框架具有以下优点。
1.可快速构建独立的Spring应用
Spring Boot主要是通过注解和自动化配置的方式推出的全新框架,旨在快速、敏捷的开发新一代基于Spring框架的应用程序。在构建Spring Boot项目时,只要根据需求选择对应的场景依赖,Spring Boot会自动添加该场景所需要的全部依赖并提供自动化配置,在无需额外手动添加配置的情况下可以快速构建出一个独立的Spring应用程序。
2.直接嵌入Tomcat、Jetty和Undertow服务器(无需部署WAR文件)
Spring Boot项目不需要像传统的Spring应用一样打成WAR包的形式部署到Tomcat、Jetty或Undertow服务器中,运行一个Spring Boot项目,可以直接将项目打成JAR包的形式,并通过命令“java -jar xx.jar”运行。这是因为,Spring Boot项目内嵌了Tomcat、Jetty和Undertow服务器,因此在部署过程中减少了对第三方插件的依赖和管理。
3.提供依赖启动器简化构建配置
在Spring Boot项目构建过程中,无需准备各种独立的JAR文件,只需在构建项目时根据开发场景需求选择对应的依赖启动器“starter”即可,在引入的依赖启动器“starter”内部已经包含了对应开发场景所需的依赖,并会自动下载和拉取相关JAR包。例如,在Web开发时,只需在构建项目时选择对应的Web场景依赖启动器spring-boot-starter-web,Spring Boot项目便会自动导入spring-webmvc、spring-web、spring-boot-starter-tomcat等子依赖,并自动下载和拉取Web开发需要的相关JAR包。
4.极大程度的自动化配置Spring和第三方库
Spring Boot充分考虑到了与传统Spring框架以及其他第三方库融合的场景,在提供了各种场景依赖启动器的基础上,内部还默认提供了大量的各种自动化配置类(例如RedisAutoConfiguration)。使用Spring Boot开发项目时,一旦引入了某个场景的依赖启动器,Spring Boot内部提供的默认自动化配置类就会生效,开发者无需再手动进行配置文件的配置(除非开发者修改了相关默认配置,例如Redis地址、密码等),从而极大减少了开发人员的工作量,提高了程序的开发效率。
5.提供生产就绪功能
Spring Boot提供了一些用于生产环境运行时的特性,例如指标、健康检查和外部化配置。其中,指标和监控检查可以很方便的帮助运维人员在运维期间监控项目运行情况;外部化配置可以很方便的让运维人员快速、方便的外部化配置和部署工作。
6.极少的代码生成和XML配置
Spring Boot框架内部已经实现了与Spring以及其他常用第三方库的整合连接,并提供了默认最优化的整合配置,使用时基本上不需要额外生成配置代码和XML配置文件。在需要自定义配置的情况下,Spring Boot更加提倡使用Java config(Java配置类)替换传统的XML配置方式,这样更加方便查看和管理。
虽然说Spring Boot有诸多的优点,但Spring Boot也有一些缺点。例如,Spring Boot入门较为简单,但是深入理解和学习却有一定的难度,这是因为Spring Boot是在Spring框架的基础上推出的,所以想要弄明白Spring Boot的底层运行机制,有必要先对Spring框架有一定的了解。
猜你喜欢:
Spring Cloud是什么?怎么理解Spring Cloud?
原创文章,作者:ItWorker,如若转载,请注明出处:https://blog.ytso.com/253673.html