如何在YAML中為POJO中Map配置資料? | Baeldung
介紹如何使用YAML檔案中定義的屬性為POJO類中Map物件配置值資料。
POJO類是普通的舊Java物件。YAML是一種人類可讀的結構化資料格式,它使用縮排來指示巢狀。
假設我們正在運營一個線上商店,並且正在建立一個可以有服裝尺寸的服務。首先,“ S”,“ M”,“ L”等標籤所指的英國尺寸。建立POJO配置類:
@ConfigurationProperties(prefix = "t-shirt-size") public class TshirtSizeConfig { private Map<String, Integer> simpleMapping; public TshirtSizeConfig(Map<String, Integer> simpleMapping) { this.simpleMapping = simpleMapping; } //getters and setters.. } |
注意帶有字首值的@ConfigurationProperties。我們將在YAML檔案中的相同根值下定義對映。
還需要記住在Application.class上啟用帶有以下注釋的配置屬性:
@EnableConfigurationProperties(TshirtSizeConfig.class) public class DemoApplication { public static void main(String[] args) { SpringApplication.run(DemoApplication.class, args); } } |
現在,我們新增t-shirt-size到我們的YAML配置。在application.yml檔案中使用以下結構:
t-shirt-size: simple-mapping: XS: 6 S: 8 M: 10 L: 12 XL: 14 |
注意縮排和空格。YAML使用縮排來表示巢狀。對於每個巢狀級別,建議的語法是兩個空格。
請注意,我們使用的是simple-mapping帶有破折號,但我們在類中的屬性名稱稱為simpleMapping。帶有破折號的YAML屬性將自動轉換為等效的駝峰式程式碼。
使用更復雜的Map來更改application.yml:
t-shirt-size: complex-mapping: XS: uk: 6 fr: 34 us: 2 S: uk: 8 fr: 36 us: 4 M: uk: 10 fr: 38 us: 6 L: uk: 12 fr: 40 us: 8 XL: uk: 14 fr: 42 us: 10 |
的POJO中的相應欄位將是Map中Map:
private Map<String, Map<String, Integer>> complexMapping; |
在GitHub上獲得本文的程式碼
相關文章
- 在使用IBatis時,使用Map做為資料傳遞,不用POJOBATPOJO
- 如何在Java 8中將List轉換為Map?Java
- 如何在SpringBoot中設定TLS? |BaeldungSpring BootTLS
- 在Docker中能使用資料庫嗎? | BaeldungDocker資料庫
- Spring YAML與屬性檔案配置檔案對比 | BaeldungSpringYAML
- Python讀取YAML配置資料PythonYAML
- RAILS中利用YAML檔案完成資料對接AIYAML
- go中map的資料結構理解Go資料結構
- 如何在hadoop中控制map的個數Hadoop
- Map 轉json資料,json資料轉換為MapJSON
- 如何在 PHP 中傳送 xml 資料作為請求內容PHPXML
- 如何在weka中連線資料庫資料庫
- 如何在指標中隱藏資料?指標
- 深度分析如何在Hadoop中控制Map的數量Hadoop
- Java中將多個Map扁平化為單個MapJava
- chan中傳遞map資料,傳遞的是引用
- 【譯】如何在React Hooks中獲取資料?ReactHook
- 如何在 PHP 中處理 Protocol Buffers 資料PHPProtocol
- 微服務中的Saga模式 - baeldung微服務模式
- Java 中的map - The Map Interface.Java
- Java中將 Map 轉換為 Spring MultiValueMapJavaSpring
- 為何在查詢中索引未被使用索引
- eclipse中的yaml外掛EclipseYAML
- springboot中YAML使用二Spring BootYAML
- Yaml中特殊符號"| > |+ |-"的作用YAML符號
- React中兩種遍歷資料的方法(map、forEach)React
- 如何在因果推斷中更好地利用資料?
- 如何在安卓應用程式中儲存資料安卓
- 如何在windows中安裝達夢資料庫?Windows資料庫
- Go中的MapGo
- 如何在資料訪問層中引用資料庫連線池?資料庫
- Java中的多資料來源管理:如何在單個應用中整合多資料庫Java資料庫
- 在Linux中,如何在Linux中安裝和配置KVM?Linux
- 如何在Java中判斷是否為空Java
- 如何在python中讀取配置檔案Python
- Python中yaml模組的使用教程PythonYAML
- 如何在FreeBSD 13中安裝MySQL資料庫MySql資料庫
- 如何在Nuxt3.0中使用MongoDB資料庫UXMongoDB資料庫