Spring Boot
Abstract |
Spring Boot |
Authors |
Walter Fan |
Status |
WIP as draft |
Updated |
2026-02-08 |
overview
Spring Boot makes it easy to create stand-alone, production-grade Spring based Applications that you can “just run”.
We take an opinionated view of the Spring platform and third-party libraries so you can get started with minimum fuss. Most Spring Boot applications need minimal Spring configuration.
If you’re looking for information about a specific version, or instructions about how to upgrade from an earlier release, check out the project release notes section on our wiki.
history
Spring Boot的主要版本之间有诸多重要变化, 以下是一些重点举例说明:
Spring Boot 1.x
起步依赖简化配置: 引入起步依赖, 如spring-boot-starter-web, 自动包含相关依赖, 减少配置。
自动配置: 能根据类路径中的依赖自动配置Spring应用上下文。如添加spring-boot-starter-data-jpa, 自动配置JPA相关Bean。
内置服务器支持: 默认集成Tomcat, 也可方便切换为Jetty或Undertow, 只需修改配置。
Actuator监控端点: 提供如/health、/info等监控端点, 查看应用运行状态和信息。
Spring Boot 2.x
性能优化: 启动时间大幅缩短, 内存占用降低。如采用懒加载机制, 仅在首次访问时初始化Bean。
WebFlux集成: 支持响应式编程, 基于Netty等实现非阻塞I/O。如spring-boot-starter-webflux创建响应式Web应用。
配置属性绑定增强: 支持更灵活、复杂的配置属性绑定。可将配置属性绑定到嵌套对象或集合, 如myapp.database.host=localhost绑定到@ConfigurationProperties标注的类。
OAuth 2.0支持增强: 提供更全面的OAuth 2.0客户端和资源服务器支持, 方便与认证服务器集成。
Spring Boot 3.x
支持Java 17及以上版本: 充分利用新特性, 如虚拟线程等, 提升性能和并发能力。
GraalVM原生镜像支持: 可将应用编译为原生可执行文件, 启动更快、内存占用更少, 提高运行效率和资源利用率。
配置文件处理优化: 采用更高效的配置文件加载和解析机制, 支持YAML配置文件的多文档块, 按不同环境或场景激活相应配置。
依赖升级与优化: 升级众多依赖库版本, 如Spring Framework等, 解决安全漏洞, 引入新功能和性能优化。
Features
Create stand-alone Spring applications
Embed Tomcat, Jetty or Undertow directly (no need to deploy WAR files)
Provide opinionated ‘starter’ dependencies to simplify your build configuration
Automatically configure Spring and 3rd party libraries whenever possible
Provide production-ready features such as metrics, health checks, and externalized configuration
Absolutely no code generation and no requirement for XML configuration