Spring,Spring MVC,Spring Boot 之间什么关系?

一句话总结

Spring是Java应用开发的基础框架,提供IoC和AOP核心功能。Spring MVC是基于Spring的Web开发模块,处理MVC架构。Spring Boot是Spring的扩展框架,通过自动配置和简化部署,整合了Spring MVC等模块,降低开发复杂度。三者构成递进关系,Boot封装Spring生态,MVC是其子集中的Web方案。

详细解析

Spring、Spring MVC、Spring Boot 是 Spring 生态中核心基础、领域扩展、开发增强的三层关系,共同构成企业级应用开发的完整解决方案。以下从定位、功能和依赖关系三方面详细说明:

1. Spring(核心基础框架)

Spring 是整个生态的底层核心框架,核心功能是 IOC(控制反转/依赖注入) 和 AOP(面向切面编程),目标是通过“解耦”和“模块化”降低企业应用开发的复杂性。

IOC 容器:管理应用中的所有对象(Bean),通过依赖注入(DI)实现对象间的解耦(无需手动创建或查找依赖,由容器自动装配)。

AOP 支持:通过动态代理实现非业务逻辑(如日志、事务、权限)的统一管理,避免代码冗余。

模块化设计:Spring 本身是“可插拔”的模块化架构,提供了多个扩展模块(如数据访问Spring JDBC、事务管理Spring TX、Web 开发Spring MVC等),开发者可按需引入。

2. Spring MVC(Web 开发扩展模块)

Spring MVC 是 Spring 框架中专门用于 Web 开发的模块(属于Spring Framework的一部分),遵循 MVC(模型-视图-控制器)设计模式,解决 Web 应用的请求处理、路由、视图渲染等问题。

依赖 Spring IOC:Spring MVC 的核心组件(如Controller、DispatcherServlet)由 Spring 容器管理,可直接注入其他 Spring Bean(如 Service、DAO)。

MVC 流程:通过DispatcherServlet(前端控制器)统一处理请求,调用HandlerMapping路由到Controller,Controller处理业务后返回ModelAndView,最终由ViewResolver渲染视图(如 JSP、Thymeleaf)。

典型场景:传统 Web 应用(前后端不分离)或 RESTful API 开发(通过@RestController返回 JSON/XML)。

3. Spring Boot(开发增强工具)

Spring Boot 是 Spring 生态的快速开发工具,目标是“简化 Spring 应用的搭建和配置”,核心解决传统 Spring 应用的配置复杂问题(如大量 XML 或 Java 配置、依赖管理繁琐)。

约定优于配置:通过默认配置(如内嵌 Tomcat、自动装配常用 Bean)减少开发者手动配置,仅需关注业务逻辑。

起步依赖(Starter):提供“一站式”依赖管理(如spring-boot-starter-web自动包含 Spring MVC、Tomcat 等所有依赖),避免版本冲突。

自动配置(Auto-configuration):通过条件判断(如检测到Hibernate则自动配置SessionFactory),动态激活所需功能,无需手动编写配置类。

独立运行:内嵌 Web 服务器(如 Tomcat、Jetty),可通过main方法直接启动应用(无需部署到外部服务器)。

4. 三者的关系总结

  • Spring 是“地基”:提供底层容器和核心能力;
  • Spring MVC 是“上层建筑中的 Web 模块”:基于 Spring 实现 Web 开发;
  • Spring Boot 是“脚手架工具”:让 Spring(包括 Spring MVC)应用的搭建和运行更简单。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值