spring和spring boot区别

二者主要区别是:

1、Spring Boot提供极其快速和简化的操作,让 Spring 开发者快速上手。

2、Spring Boot提供了 Spring 运行的默认配置。

3、Spring Boot为通用 Spring项目提供了很多非功能性特性。

一、Spring Boot和Spring的关系

不是:从马车到汽车那种交通出行的颠覆,从燃油车到纯电动车那种能源利用的变革,从人工驾驶到AI智能那种驾驶方式的升级。总之,不是产品的升级换代,不是谁要替换谁。

而是:汽车从手动挡变成自动挡,然后增加无钥匙进入、一键启动、发动机自动起停、自动泊车、定速巡航...等功能。越来越多新上市的车型开始标配上面这些新技术,让你开车更省心更轻松,把更多的注意力放在驾驶上。插播一条广告:需要开通正版IDEA的可以联系我,56元一年,正版授权激活,官网可查有效期,有需要的加我微信:poxiaozhiai6,备注:912。

二、Spring提供了什么呢

Spring Framework,其中包含我们最常用的Spring MVC和最新推出的和Spring MVC并行的Spring WebFlux。也就是我们现在开发Web应用,除了Spring MVC意外,在Spring Framework下还有另外一个选项,就是响应式的WebFlux。

Spring Data,其中包括Spring Data JPA、Spring Data JDBC、Spring Data MongoDB、Spring Data Redis,还有newo4j、ldap、couchbase等等很多很多。

还有Spring Cloud、Spring Security、Spring Integration、Spring Batch....

上面说的这些,都算是CPU、声卡、显卡、内存吧,这个硬件列表还很长,上面完全没有列完整。

以前我们搭建一个Spring的项目,确实需要手动组装这些,组装好了就可以用了吗?还不行啊,还需要装驱动!

配置Maven的POM可以看做是组装过程,每个dependency就是你要的硬件。Maven会按照你的清单去Maven Repository帮你采购到本地,然后组装起来。

配置Spring的XML或Java Annotation可以看做是安装硬件驱动的过程,这些驱动都需要你自己手写安装。

但是Spring Boot是品牌机吗?当然不是。

品牌机是省去了你组装硬件和安装驱动的过程,确实开箱即用了。但是品牌机同时也限制死了你的选项!也基本封杀了你将来自己改变硬件配置和升级的可能性。

那么谁更像是品牌机呢?SSH、SSM更像。

SSH,CPU是Spring IOC,显卡是Struts2代,硬盘式Hibernate,没得选了。这就是我们这个系列的配置。不满意是吧?给你推荐另外一个系列,用的显卡是Spring MVC,硬盘是Mybatis,这个系列叫SSM。

Spring Boot不是品牌机是什么?是你DIY电脑之后安装的那个“驱动精灵”,他提供多种硬件的驱动程序,自动匹配硬件的驱动版本,自动设置硬件的默认参数。

我们正式看一下Spring Boot自带了哪些硬件设备的驱动:

还有很多社区提供的第三方驱动,例如Mybatis自己提供的
starter。

下面再看稍大型的项目是否适用Spring Boot。

大型项目更有必要用Spring Boot。因为项目越大要配置的就越多。而且大型项目可能要从Monolithic架构转换成MicroServices架构,就会需要Spring Cloud,而Spring Cloud的基础就是Spring Boot。

国内企业应用用什么技术和技术本身关系不大,而是跟公司负责技术的人关系最大。很多技术负责人没有能力、没有魄力、没有勇气、没有动力去使用所谓的新技术。虽然这些技术已经很成熟很流行了,但是对于这些人来说永远是不适合他们公司的"新技术"。

太多太多开发企业应用的人就打算把刚毕业时候接触的技术用一辈子。甚至很多软件公司的开发人员根本不知道也不关心自己Spring是什么版本,反正每个新项目就把老项目复制一份开始改。

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐