Spring Boot 高级:自动化配置与底层原理
1. Starter 依赖管理机制
通过引入 spring-boot-dependencies,我们可以发现官方提供了大量的 starter- 场景启动器。这些启动器不仅帮我们管理了版本,还内置了大量默认配置。
在实际项目中,直接引入对应的 starter 即可,无需关心具体依赖的版本和传递关系。如果需要调整版本,可以通过重写 Maven 属性或利用 Maven 依赖管理的就近原则来实现。
值得注意的是,所有的场景启动器底层都依赖 spring-boot-starter,它起到了统一入口的作用:
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter</artifactId>
<version>2.3.10.RELEASE</version>
<scope>compile</scope>
</dependency>
核心要点:
- 引入官方 Starter 默认可以不写版本号。
- 如果默认配置满足开发需求,直接使用即可,极大简化了环境搭建。
2. Web MVC 自动化配置初体验
回顾传统的 SSM 整合,我们需要手动添加 Spring 及 Spring Web MVC 相关依赖,编写配置类来扫描 Controller、控制静态资源、配置 Servlet 容器以及处理 POST 请求乱码等。部署时甚至还需要单独配置 Tomcat。
这意味着在编写业务代码前,必须先搭建好复杂的环境。Spring Boot 的出现正是为了解决这个问题。
引入 Web 开发场景启动器后:
<!-- web 开发的起步依赖 -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
框架自动完成了以下工作:
- 依赖管理:不再关注 Jar 包版本冲突。


