更新时间:2022-07-26 来源:黑马程序员 浏览量:
在Spring Boot框架出现之前,Java EE开发最常用的框架是Spring,该框架开始于2003年,它是由罗德·约翰逊(Rod Johnson)创建的一个轻量级开源框架。Spring框架是为了解决企业应用开发的复杂性而创建的,它的出现使得开发者无须开发重量级的Enterprise JavaBean(EJB),而是通过控制反转(IOC)和面向切面编程(AOP)的思想进行更轻松的企业应用开发,取代了EJB臃肿、低效的开发模式。
虽然Spring框架是轻量级的,但它的配置却是重量级的。Spring的早期版本专注于XML配置,发一个程序需要配置各种XML配置文件。为了简化开发,在Spring 2.x版本开始引入少量的注解,如@Component、@Service等。由于支持的注解不是很多且功能尚不完善,所以只能辅助使用。
随着实际生产中敏捷开发的需要,以及Spring注解的大量出现和功能改进,到了Spring4.x版本基本可以脱离XML配置文件进行项目开发,多数开发者也逐渐感受到了基于注解开发的便利,因此,在Spring中使用注解开发逐渐占据了主流地位。与此同时,Pivotal团队在原有Spring框架的基础上通过注解的方式进一步简化了Spring框架的使用,并基于Spring框架开发了全新的SpringBoot框架,于2014年4月正式推出了Spring Boot 1.0版本,同时在2018年3月又推出了 Spring Boot 2.0版本。Spring Boot 2.x版本在Spring Boot 1.x版本的基础上进行了诸多功能的改进和扩展,同时进行了大量的代码重构,所以读者在学习开发过程中,选择合适的版本也是非常重要的。我们推荐使用优化后的Spring Boot2.x版本。
Spring Boot框架本身并不提供Spring框架的核心特性以及扩展功能,只是用于快速、敏捷地开发新一代基于Spring框架的应用,并且在开发过程中大量使用“约定优先配置”(convention over configuration)的思想来摆脱Spring框架中各种复杂的手动配置,同时衍生出了Java Config(取代传统XML配置文件的Java配置类)这种优秀的配置方式。也就是说,Spring Boot并不是替代Spring框架的解决方案,而是和Spring框架紧密结合用于提升Spring开发者体验的工具,同时 Spring Boot还集成了大量常用的第三方库配置(例如Jackson、JDBC、Redis、Mail等)。使用Spring Boot开发程序时,几乎是开箱即用(out-of-the-box),大部分Spring Boot应用只需少量配置就能完成相应的功能,这一特性进一步促使开发者专注于业务逻辑的实现。
另外,随着近几年微服务开发需求的迅速增加,怎样快速、简便地构建一个准生产环境的Spring应用也是摆在开发者面前的一个难题,而Spring Boot框架的出现恰好完美地解决了这些问题,同时其内部还简化了许多常用的第三方库配置,使得微服务开发更加便利,这也间接体现了Spring Boot框架的优势和学习Spring Boot的必要性。