Spring Boot 全面介绍
一、Spring Boot 是什么?
Spring Boot 是由 Pivotal 团队(后并入 VMware)开发的 Spring 生态系统扩展框架,基于 Spring 核心技术,旨在解决传统 Spring 开发中 “配置繁琐、依赖管理复杂、启动部署麻烦” 等问题。
其核心定位是:“约定优于配置”(Convention over Configuration),通过默认配置简化开发流程,让开发者专注于业务逻辑,而非框架配置。
二、Spring Boot 核心特性
1. 自动配置(Auto-Configuration)
- 核心机制:基于 classpath 下的依赖(如
spring-boot-starter-web
)和开发者自定义配置,自动激活并配置 Spring 组件(如 Tomcat、DispatcherServlet)。 - 示例:引入
spring-boot-starter-web
后,自动配置嵌入式 Tomcat(默认端口 8080)、Spring MVC 核心组件,无需手动编写web.xml
或ApplicationContext.xml
。 - 自定义方式:通过
@Conditional
系列注解(如@ConditionalOnClass
、@ConditionalOnMissingBean
)灵活控制配置生效条件。
2. 起步依赖(Starter Dependencies)
- 定义:预封装的 Maven/Gradle 依赖组合,对应特定开发场景(如 Web、数据库、安全),避免手动管理依赖版本冲突。
- 常用起步依赖:起步依赖名称 | 作用 | 核心依赖包含 -- | -- | -- spring-boot-starter-web | 开发 Web 应用(Spring MVC) | Tomcat、Spring Web、Spring MVC spring-boot-starter-data-jpa | 操作数据库(JPA) | Hibernate、Spring Data JPA spring-boot-starter-security | 集成 Spring Security(身份认证) | Spring Security 核心组件 spring-boot-starter-test | 单元测试与集成测试 | JUnit、Mockito、AssertJ
九、总结
Spring Boot 并非替代 Spring,而是 Spring 的 “简化工具”,通过 “约定优于配置” 和自动配置,解决了传统 Spring 开发的痛点。其核心价值在于:- 降低 Spring 学习和使用门槛;
- 大幅提升开发效率(减少 80% 以上的配置代码);
- 无缝集成 Spring 生态(如 Spring Cloud、Spring Security、Spring Data),是当前微服务开发的主流框架。