Spring Boot 2.6新特性:使用Java 17的Record作为配置属性
2023-02-19 12:17:50 时间
Spring Boot 3.0的基线版本是Java 17,Spring Boot 3.0版本将全面对Java 17的支持。较新版本的2.x的Spring Boot版本也可以使用Java 17的特性。
本文介绍Spring Boot 2.6对Java 17支持的一个新特性,使用Java 17的Record来做为Spring Boot的配置属性(ConfiguartionProperties)。
什么是Record
record是一种特殊类型的类声明,目的是为了减少样板代码。record引入的主要目的是快速创建数据载体类。
这种类的主要目的就是在不同的模块或者层之间包含并传递数据,它们表现为POJO(Plain Old Java Objects)和DTO(Data Transfer Objects)。
record声明有专门的的关键字record,我们比较下一个简单的POJO类和record上语法的区别:
POJO类:
record:
Spring Boot的配置属性(Configuration Properties)类也是一个简单POJO。
用POJO类作为Configuration Properties
新建演示项目,注意添加Spring Configuration Processor
演示的Configuration Properties,首先我们使用常规的Java类来演示
- application.properties中的配置
- 注册Configuration Properties为Bean,并使用
- 运行程序
用Record作为Configuration Properties
我们只需要将AuthorProperties类修改为record即可:
运行结果和上面保持一致。
文章出自:爱科学的卫斯理,如有转载本文请联系爱科学的卫斯理今日头条号。
相关文章
- Java 多线程(七):线程池
- Java 多线程(五):锁(三)
- Java 多线程(四):锁(二)
- Java 多线程(三):锁(一)
- Java 多线程(二):并发编程的三大特性
- Java 多线程(一):基础
- Java SE 18 新增特性
- Java SE 17 新增特性
- Java SE 16 新增特性
- Java SE 15 新增特性
- Java SE 14 新增特性
- Java SE 10 Application Class-Data Sharing 示例
- Java SE 13 新增特性
- Java SE 12 新增特性
- Java SE 11 新增特性
- Java SE 10 新增特性
- Java SE 9 模块化示例
- Java SE 9 多版本兼容 JAR 包示例
- Java SE 9 新增特性
- Java SE 8 新增特性