最近在学ssm,其中涉及到关于spring的东西,有spring,springMVC,springBoot还有很多关于spring 的框架,比较懵它们之间的关系。查阅了一些资料后再根据个人理解写一下三者的关系。
总的来说,三者的包含关系为springboot>spring>springMVC
Spring
Spring是一个轻量级的java开发框架,其核心是控制反转(IOC)和面向切面(AOP),它像是一辆汽车的发动机(把框架比作汽车的话),是框架最核心的东西。
springMVC
springMVC是用来开发web应用的一套轻度耦合的web框架,其涵盖了前端视图开发、后台接口逻辑开发等,它的优点有很多比如清晰的角色划分,配置方式很直接,业务代码可重用等。但它的缺点在于配置文件XML,config这些比较繁琐。于是大家为了让其配置不再那么繁琐,于是就有了springboot。
springboot
springboot引入自动配置的概念,让配置变得不繁琐。它用于快速、敏捷地开发基于spring的应用程序。(注意这里是基于spring框架而不是springMVC)。所以springboot是在spring基础上的一种更简洁的开发应用的方式,当然springboot之于springMVC就像spring之于springMVC,它只是一个承载者,让开发web应用的时候配置更简单,并且集成了Tomcat这类服务器,让开发者更加专注于代码的业务逻辑上。
总结
spring框架就像一辆车的车架,这个车架可以做成电动车(spring cloud),燃油车(spring mvc),燃气车(spring data)等等。springMVC就像是手动挡的燃油车,springboot的出现相当于给这辆车的车架提前加了自动驾驶功能,这样你开燃油车的时候(开发WEB应用的时候)就可以不手动了(手动配置)而是自动驾驶(自动装配配置),要注意它的核心还是车(spring)并不是代替了车(spring)。大概就是这个理(个人理解,不当的话评论区评论你的想法大家交流交流)