一、Spring、Spring Boot 、Spring MVC区别1.1 SpringSpring:简单来说,Spring是一个开发应用框架,有这么几个标签:轻量级、一站式、模块化,其目的是用于简化企业级应用程序开发。Spring的主要功能:管理对象,以及对象之间的依赖关系,面向切面编程,数据库事务管理,数据访问,web框架支持等。
但是Spring具备高度可开放性,并不强制依赖Spring,开发者可以自由选择Spring的部分或者全部,Spring可以无缝继承第三方框架,比如数据访问框架(Hibernate、JPA),web框架(如Struts、JSF)等等。
1.2 Spring Web MVCSpring MVC:Spring MVC是Spring的一个子框架,Spring诞生之后,许多人觉得很好用,于是按照MVC模式设计了一个 MVC框架(一些用Spring 解耦的组件),主要用于开发WEB应用和网络接口,所以,Spring MVC是一个Web框架。Spring MVC基于Spring进行开发的,天生的与Spring框架集成,可以让我们更简洁的进行Web层开发,支持灵活的URL到页面控制器的映射,提供了强大的约定大于配置的契约式编程支持,非常容易与其他视图框架集成,如Velocity、FreeMarker等。
1.3 Spring BootSpring Boot:Spring Boot是对Spring的一个封装,为了简化Spring应用的开发而出现的,中小型企业没有成本研究自己的框架,使用Spring Boot可以更加快速的搭建框架,降级开发成本,让开发人员更加专注于Spring应用的开发,而无需过多关注XML的配置和一些底层的实现。Spring Boot是个脚手架,插拔式搭建项目,可以快速的集成其他框架进来。
比如想使用SpringBoot开发Web项目,只需要引入Spring MVC框架即可,Web开发的工作是SpringMVC完成的,而不是SpringBoot,想完成数据访问,只需要引入Mybatis框架即可。
Spring Boot只是辅助简化项目开发的,让开发变得更加简单,甚至不需要额外的web服务器,直接生成jar包执行即可。
1.4 总结最后一句话总结:Spring MVC和Spring Boot都属于Spring, Spring MVC是基于Spring的一个MVC 框架,而Spring Boot是基于Spring的一套快速开发整合包。
示例:
在这里插入图片描述示例中:整体的框架是SpringBoot提供搭建的;IoC & DI 功能是Spring 提供的;Web相关功能是Spring MVC 提供的。
二、图解关系这三者专注的领域不同,解决的问题也不一样,总的来说,Spring就像⼀个大家族,有众多衍生产品,但他们的基础都是Spring,用一张图来表示他们三个的关系:
在这里插入图片描述结语:
Spring、Spring MVC 与 Spring Boot 作为 Java 后端开发的核心技术栈,三者分工明确、相辅相成,共同构建了高效、灵活的开发体系。Spring 提供的 IOC 和 AOP ( 之后会详解 ) 为应用奠定了轻量级、解耦的基础,Spring MVC 则专注于 Web 层的请求处理与流程控制,而 Spring Boot 通过自动配置大幅降低了项目搭建的复杂度,让开发者能够更聚焦于业务逻辑的实现。