Spring 框架 和 Spring MVC 的区别如下:
1. Spring 框架 (Spring Framework)
-
核心概念: 一个完整的 Java 企业级开发框架。
-
包含模块:
- 核心容器 (Core Container) :
BeanFactory、ApplicationContext(依赖注入 DI 和控制反转 IoC)。 - AOP (Aspect-Oriented Programming) :面向切面编程。
- 数据访问 (JDBC, ORM) :
JdbcTemplate、Spring Data JPA。 - 事务管理 (Transaction Management) :声明式事务管理。
- Web 模块 (Spring MVC) :用于 Web 层开发。
- 安全 (Spring Security) :认证与授权。
- 核心容器 (Core Container) :
✅ 用途: 提供了开发 Java 企业应用的完整解决方案,支持依赖注入、AOP、事务管理等。
2. Spring MVC (Spring Web MVC)
-
核心概念: Spring 框架的 Web 层模块,实现了 MVC 设计模式。
-
特点:
- 基于
DispatcherServlet作为前端控制器。 - 通过
@Controller和@RestController处理 HTTP 请求。 - 支持视图解析器(如 JSP、Thymeleaf)。
- 集成了
@RequestMapping、@GetMapping等注解来映射 URL。
- 基于
✅ 用途: 专门用于 Web 应用的开发,主要管理 表现层。
3. 区别总结
| 特性 | Spring 框架 | Spring MVC |
|---|---|---|
| 范围 | 全面的 Java 企业开发框架 | Web 层的 MVC 框架 |
| 模块化 | 包含核心、AOP、数据访问、Web 等 | 仅是 Web 层模块 |
| 用途 | 依赖注入、AOP、事务管理等 | 处理 HTTP 请求与响应 |
| 适用场景 | 任意 Java 项目(包括 Web 和非 Web) | 专用于 Web 应用开发 |
✅ 关系:Spring MVC 是 Spring 框架的一部分,专注于 Web 层开发。