Spring Boot 2.6新特性:使用Java 17的Record作為配置屬性
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即可:
運行結果和上面保持一致。
文章出自:??愛科學的衛斯理??,如有轉載本文請聯系愛科學的衛斯理今日頭條號。