Appearance
Spring Boot
Spring Boot 是基于 Spring Framework 的快速开发脚手架,遵循 "约定优于配置"(Convention over Configuration) 的设计理念。它并非替代 Spring,而是通过自动配置、起步依赖和内嵌服务器等机制,将 Spring 的技术整合复杂度从业务代码转移到基础设施层。
约定优于配置
Spring Boot 通过一套精心设计的默认约定,大幅减少手动配置工作量。例如:
- 默认配置文件为
application.properties或application.yml - 默认内嵌 Tomcat 服务器,端口 8080
- 静态资源默认放在
static目录,模板放在templates目录 - 主类放在根包下,自动扫描同级及子包组件
自动配置(Auto-Configuration)
这是 Spring Boot 最具代表性的特性,能够根据项目依赖自动推断并配置所需 Bean。
实现机制:
@SpringBootApplication复合注解包含@EnableAutoConfiguration,触发自动配置- 扫描类路径下
.m2\repository\org\springframework\boot\spring-boot\2.6.3\spring-boot-2.6.3.jar!\META-INF\spring.factories(Spring Boot 2.7+ 新机制,使用META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports替代旧版spring.factories) - 通过
@Conditional系列注解(如@ConditionalOnClass、@ConditionalOnMissingBean、@ConditionalOnProperty)进行条件化装配
内嵌服务器(Embedded Servers)
Spring Boot 将 Tomcat、Jetty、Undertow 等服务器作为库文件嵌入应用中,应用可打包为可执行的 Fat JAR,通过 java -jar 直接运行,无需外部部署 WAR 包。