Spring Boot 项目旨在简化创建产品级的 Spring 应用和服务。你可通过它来选择不同的 Spring 平台。可创建独立的 Java 应用和 Web 应用,同时提供了命令行工具来允许 'spring scripts'.
下图显示 Spring Boot 在 Spring 生态中的位置:
该项目主要的目的是:
- 为 Spring 的开发提供了更快更广泛的快速上手
- 使用默认方式实现快速开发
- 提供大多数项目所需的非功能特性,诸如:嵌入式服务器、安全、心跳检查、外部配置等
Spring Boot 不生成代码,完全无需 XML 配置。
快速在 Java 代码中测试和使用 Spring Boot 的方法:
import org.springframework.boot.*;
import org.springframework.boot.autoconfigure.*;
import org.springframework.web.bind.annotation.*;
@RestController
@EnableAutoConfiguration
public class Example {
@RequestMapping("/")
String home() {
return "Hello World!";
}
public static void main(String[] args) throws Exception {
SpringApplication.run(Example.class, args);
}
}
Spring Boot 2.3.0 已经发布,此版本主要更新内容包括:
依赖升级
新版本核心组件依赖升级
- Spring Data Neumann
- Spring HATEOAS 1.1
- Spring Integration 5.3
- Spring Kafka 2.5
- Spring Security 5.3
- Spring Session Dragonfruit
三方组件依赖
- Cassandra Driver 4.6
- Couchbase Client 3.0
- Elasticsearch 7.6
- Kafka 2.5
- Micrometer 1.5
- MongoDB 4.0
支持 Java 14
spring boot 2.3.0 支持 Java 14 ,同样对 Java 11 、Java 8 提供兼容
Docker 容器支持
spring boot 2.3.0 添加了部分功能用来帮助将Spring Boot 应用直接打包到 Docker 镜像。
- 支持 Cloud Native Buildpacks 构建镜像
- maven 插件 增加 spring-boot:build-image 、gradle增加bootBuildImage task 帮助快速构建镜像
- 支持jar 分层,更好的优化打包镜像过程
优雅关机
目前内置的四个嵌入式Web服务器(Jetty,Reactor Netty,Tomcat和Undertow)以及响应式和基于Servlet的Web应用程序都支持优雅关机。
配置关机缓冲时间后,在关闭时,Web服务器将不再允许新请求,并且将等待缓冲时间以使活动请求完成。
服务可用性探针
spring boot 2.3.0 内置了应用可用性判断的功能,可以跟踪应用程序是否处理活动状态和是否准备好处理请求。
其他变化
详细的发版日志可以参考Spring-Boot-2.3-Release-Notes 。也可以在此处找到在下一版本中删除的不推荐使用的类和方法的列表。