Spring Boot 3.4.0 发布:功能概览与示例
Spring Boot 3.4.0 带来了许多增强功能,使现代应用开发更加高效、便捷和强大。以下是最新功能的完整概述,以及一些帮助您快速入门的代码示例。
1. 应用程序版本管理
Spring Boot 引入了 spring.application.version
属性,方便开发者设置和访问应用程序版本。
示例
在 application.properties
中:
spring.application.version=1.2.0
在代码中访问:
@Value("${spring.application.version}")
private String appVersion;
@PostConstruct
public void printVersion() {
System.out.println("App Version: " + appVersion);
}
2. 虚拟线程改进
Spring 现原生支持虚拟线程,可用于任务调度和异步处理,无需再添加 @EnableScheduling
注解。
示例
@Component
public class VirtualThreadExample {
@Scheduled(fixedRate = 2000)
public void task() {
System.out.println("Running on thread: " + Thread.currentThread());
}
}
3. Docker Compose 支持增强
支持多个 Docker Compose 文件,适用于不同环境的配置合并。
示例
spring.docker.compose.files=docker-compose.override.yml,docker-compose.prod.yml
4. Prometheus 1.x 客户端支持
通过支持 Prometheus 1.x 客户端,进一步提升了可观察性。
示例
添加依赖:
<dependency>
<groupId>io.prometheus</groupId>
<artifactId>simpleclient</artifactId>
<version>1.0.0</version>
</dependency>
5. 结构化日志改进
启用 JSON 或结构化日志记录时,Spring Boot 的启动横幅会自动禁用,以减少日志混乱。
示例logback-spring.xml
配置:
<configuration>
<appender name="CONSOLE" class="ch.qos.logback.core.ConsoleAppender">
<encoder>
<pattern>{"timestamp":"%d","level":"%p","message":"%m"}</pattern>
</encoder>
</appender>
</configuration>
6. SBOM 执行器端点
新增 SBOM(软件物料清单)端点,支持软件供应链安全。
示例
启用 SBOM:
management.endpoint.sbom.enabled=true
访问路径:/actuator/sbom
7. ApplicationContextRunner 增强
增强了 ApplicationContextRunner
,支持自定义配置的运行和测试。
示例
new ApplicationContextRunner()
.withPropertyValues("spring.application.name=TestApp")
.run(context -> assertThat(context).hasSingleBean(SomeBean.class));
8. Hibernate 自动配置增强
支持 Hibernate 的本机属性,提升了兼容性和配置灵活性。
示例
spring:
jpa:
properties:
hibernate.dialect: org.hibernate.dialect.PostgreSQLDialect
hibernate.show_sql: true
9. 新的执行器特性
- 系统端点增强:新增 JVM 相关详情(如可用处理器、运行时间)。
- 指标收集优化:提高了 HTTP 交换和请求正文指标的收集效率。
示例
management.endpoint.system.enabled=true
management.metrics.enable.http=true
10. 条件注解改进
@ConditionalOnAvailableEndpoint
支持简化语法,允许通过值别名进行配置。
示例
@Configuration
@ConditionalOnAvailableEndpoint(MyCustomEndpoint.class)
public class MyConfig {
@Bean
public MyService service() {
return new MyService();
}
}
11. 构建镜像支持扩展
提供了更多选项用于自定义 Spring Boot 容器镜像的构建过程。
示例
./mvnw spring-boot:build-image -Dspring-boot.build-image.environment.BUILDPACK_ENV=<custom-value>
Spring Boot 3.4.0 的这些新功能将显著提升开发效率和项目质量。您可以从 官方文档 获取更多详细信息,立即尝试新版本吧!
原文地址:https://blog.csdn.net/weixin_36369910/article/details/144131131
免责声明:本站文章内容转载自网络资源,如本站内容侵犯了原著者的合法权益,可联系本站删除。更多内容请关注自学内容网(zxcms.com)!