Spring Boot 与 Spring的关系
·
Spring Boot 不是对 Spring 的替代,而是基于 Spring 核心(IOC/AOP)的封装和增强框架,核心目标是 “简化 Spring 应用的开发、配置、部署流程”,二者是 “基础框架 + 高效开发工具” 的关系:
1. 核心关系:Spring Boot 是 Spring 的 “便捷开发脚手架”
- 底层依赖:Spring Boot 完全基于 Spring 的核心能力(IOC 控制反转、AOP 面向切面编程),所有 Spring 的核心特性(Bean 管理、事务、依赖注入)在 Spring Boot 中都能直接使用;
- 封装核心:Spring Boot 对 Spring 开发中的 “繁琐配置、依赖管理、部署流程” 做了极致封装,让开发者从 “配置地狱” 中解放出来,聚焦业务开发。
2. 差异(体现springboot的封装价值)
| 维度 | Spring | Spring Boot |
|---|---|---|
| 配置方式 | 大量 XML / 注解配置(需手动写 Bean、组件扫描、事务配置) | 自动配置(@EnableAutoConfiguration),仅需 application.yml 覆盖默认值 |
| 依赖管理 | 手动引入所有依赖,需手动解决版本冲突 | Starter 起步依赖(如 web-starter 整合 Tomcat+MVC),自动管理版本 |
| 部署方式 | 需打包成 WAR 包,部署到外部 Tomcat | 内嵌 Tomcat/Jetty,可直接打 JAR 包运行(java -jar) |
| 开发效率 | 配置繁琐,上手成本高 | 开箱即用,快速搭建项目(Spring Initializr 一键生成骨架) |
3. 实战场景
- 用 Spring 开发 Web 项目:需手动配置 DispatcherServlet、视图解析器、数据源、事务管理器,引入 spring-core、spring-web、spring-tx 等多个依赖,还要保证版本兼容;
- 用 Spring Boot 开发 Web 项目:只需引入
spring-boot-starter-web依赖,无需任何额外配置,直接写 Controller 就能运行,内置 Tomcat 自动启动,事务只需加@Transactional注解即可。
总结
- 核心关系:Spring Boot 是 Spring 的 “增强版脚手架”,底层依赖 Spring的核心能力,保留所有 Spring 特性;,上层简化开发流程;
- 核心价值:Spring 解决 “解耦和通用逻辑复用”,Spring Boot 解决“Spring 开发效率低的问题, 它约定大于配置,通过自动配置、Starter 依赖、内嵌容器,简化 Spring 应用的开发和部署;
- 项目中用 Spring Boot 开发微服务,基于 Spring 核心解耦和切面能力,大幅提升开发效率。
更多推荐




所有评论(0)