0
点赞
收藏
分享

微信扫一扫

Spring 和Spring Boot 到底什么关系

花明 2022-04-06 阅读 64

1. 前言


欢迎加入[​微信圈子​]程序员交流圈 交流编程经验。

刚刚入行 ​Java​ 的同学经常有这种疑问:​Spring​ 和 ​Spring Boot​ 有什么关系?它们之间有什么区别?今天来探讨一下这个问题。

2. Spring Framework

Spring​ 通常指的是 ​Spring Framework​ 。通常 ​Java​ 开发就是面向对象开发、面向抽象接口开发。而软件项目大多都是“堆积木”,随着版本迭代会越来越大,这造成了个很大的问题就是对象的管理。刚好 ​Spring​ 的控制反转,依赖注入,切面编程的特性对这些类生命周期的管理,组件模块化,基础层和业务分离解耦提供了很大的便利。就像粘合剂一样把各种功能的库“粘”到一起,让它们协同工作。

Spring 和Spring Boot 到底什么关系_java

除了上图中的一些功能特性外,​Spring Framework​ 另外有个很少被提及的特点,它很少去造轮子,它只作上层的适配,作为一个中间抽象层。这种好处在于灵活,使用者可以根据场景切换技术栈;另外这成就了 ​Spring Framework​ 成为事实上 ​J2EE​ 的标准。​Spring Framework​ 已经成为 ​Java​ 开发必须掌握的基本框架,很多时候我们开发就是跟它打交道。

3. Spring Boot

Spring Framework​ 经过数年的迭代已经丧失了轻量级的标签。在享受 ​Spring Framework​ 带来的便利的同时,我们又进入了另一个噩梦:大量的 ​XML​ 配置。​Spring​ 使用者不单单要写业务代码,还要通过编写对应的 ​XML​ 配置,引入其它组件或者功能类库也要进行繁琐的适配,这偏离了 ​Spring Framework​ 最初设计的初衷。所以 ​Spring Boot​ 被设计出来。

Spring 和Spring Boot 到底什么关系_xml_02

Spring Boot​ 将 ​Spring Framework​ 的功能进行了扩展,将繁琐的配置功能进行了内部整合,通过一些自动化的配置和类似 ​SPI​ 的发现机制来自动感知功能组件,大大降低了使用成本,而且保证了和​Spring Framework​ 的一致性。

简便

Spring Boot​可以快速通过引导式的步骤搭建一个生产级企业应用开发平台,而无需繁琐的配置。而且提供了默认配置,甚至你可以达到零配置接入。

灵活

Spring Boot​同时对常用的功能进行了组件化的抽象,可以按需引用。另外也指定了一揽子的组件规范让开发者可以自行实现符合 ​Spring Boot​ 风格的组件(Starter),让你实现插件化开发。

集中

每一个版本的依赖都经过测试和挑选,对各个组件进行了集中管理,构成一个 ​parent​ 集合,减少了依赖冲突的可能性。

敏捷

Spring Boot​通过一些注解简化了之前的开发和配置,减少了模板代码的编写,加快了开发速度。内置​Web​ 容器甚至可以以 ​Jar​ 的方式快速部署运行。

4. 两者之间的关系

Spring Framework​ 和 ​Spring Boot​ 的根本是一致的。​Spring Boot​ 是 ​Spring Framework​ 的引导程序以简化其配置和使用。而​Spring Framework​ 是 ​Spring Boot​ 的基础,​Spring Boot​ 无法脱离 ​Spring Framework​ 。用户通过上层 ​Spring Boot​ 的引导来使用 ​Spring Framework​ 。

Spring 和Spring Boot 到底什么关系_java_03

5. 总结

今天对 ​Spring Framework​ 和 ​Spring Boot​ 之间的关系进行了简单说明,希望能够帮助一些学习者的疑惑。有什么问题可以留言讨论,也可以关注公众号:​Felordcn​ 私信留言,同时关注可直接获取学习资料进行学习。

Spring 和Spring Boot 到底什么关系_xml_04




举报

相关推荐

0 条评论