成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

Spring Boot 2.6新特性:使用Java 17的Record作為配置屬性

開發 后端
record是一種特殊類型的類聲明,目的是為了減少樣板代碼。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類:

@Data
public class Point {
private String x;
private String y;
}

record:

public record Point(String x, String y) {
}

Spring Boot的配置屬性(Configuration Properties)類也是一個簡單POJO。

用POJO類作為Configuration Properties

新建演示項目,注意添加Spring Configuration Processor

演示的Configuration Properties,首先我們使用常規的Java類來演示

@ConfigurationProperties(prefix = "author")
@Data
public class AuthorProperties {
private String firstName;
private String lastName;
}
  • application.properties中的配置
author.firstName=wang
author.lastName=yunfei
  • 注冊Configuration Properties為Bean,并使用
@SpringBootApplication
@EnableConfigurationProperties(AuthorProperties.class)//將AuthorProperties注冊為Bean
@Slf4j
public class RecordConfigurationPropertiesApplication {

public static void main(String[] args) {
SpringApplication.run(RecordConfigurationPropertiesApplication.class, args);
}

@Bean //注入并使用AuthorProperties的Bean
CommandLineRunner commandLineRunner(AuthorProperties authorProperties){
return args -> {
log.info(authorProperties.toString());
};
}
}
  • 運行程序

用Record作為Configuration Properties

我們只需要將AuthorProperties類修改為record即可:

@ConfigurationProperties(prefix = "author")
public record AuthorProperties(String firstName, String lastName) {
}

運行結果和上面保持一致。

文章出自:??愛科學的衛斯理??,如有轉載本文請聯系愛科學的衛斯理今日頭條號。

責任編輯:武曉燕 來源: 今日頭條
相關推薦

2012-05-18 14:36:50

Fedora 17桌面環境

2025-04-28 03:00:00

2018-05-30 15:10:24

Spring BootList類型

2025-04-29 07:44:26

配置校驗機制

2024-05-31 14:06:55

SpringCDSGraalVM

2022-10-26 07:14:25

Spring 6Spring業務

2024-01-11 13:21:53

開發代碼

2018-06-06 14:30:38

Spring BootApplication事件

2025-04-16 10:03:40

開發Spring應用程序

2022-11-09 07:49:12

Records類聲明代碼

2009-06-18 15:40:07

Spring Batc

2017-03-23 09:29:06

2009-06-24 09:22:04

Spring2.5新特

2024-04-24 10:31:20

PostgreSQL數據庫

2020-11-20 07:54:22

Java 特性語句

2022-09-22 07:03:15

Java 18LTSOracle

2024-10-11 11:32:22

Spring6RSocket服務

2024-02-04 15:58:53

C++ 17編程代碼

2012-05-21 14:16:36

Fedora17新特性

2009-06-15 16:15:37

Spring2.0新特
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 亚洲第一视频网站 | 在线视频一区二区 | 亚洲一区 中文字幕 | 久久久观看 | 欧美激情在线精品一区二区三区 | 国产精品免费小视频 | 久久一区二区三区四区 | 久久视频一区 | 国产成人在线一区 | 午夜影院在线观看免费 | 亚洲日本欧美 | 成人av观看| 日韩精品一区二区三区中文字幕 | 2018国产精品| 中文字幕不卡一区 | 久久精品毛片 | 午夜精品一区二区三区三上悠亚 | 久久爆操| 国产乱码精品一区二区三区中文 | 国产伦精品一区二区三区照片91 | 色毛片| 欧美一区免费 | 人人九九精 | 成人伊人 | 免费观看www | 黄色免费在线观看 | 99视频久| 在线观看视频中文字幕 | 亚洲成人精品一区二区 | 精品视频在线播放 | 日韩快播电影 | 亚洲国产日韩欧美 | 国产一区二区三区久久 | 一区二区三区四区在线视频 | 成人不卡| 国产在线精品免费 | 久久久在线视频 | 一级黄a| 久久精彩视频 | 国产成人一区二 | 天堂男人av |