簡體   English   中英

將@ConfigurationProperties應用於列表中的每個元素

[英]Apply @ConfigurationProperties to each element in a list

我正在嘗試構建一個應用程序級別的循環機制,以在Spring Application中的數據源之間循環。

對於單個數據源,我可以有一個bean

@ConfigurationProperties(prefix = "spring.datasource")
public DataSource ...

效果很好。

是否可能有類似的東西

@ConfigurationProperties(prefix = "spring.datasource")
public List<DataSource> ...

文件中的配置屬性在哪里應用於列表中的每個對象? 我將其保留為一個列表,因為數據源的數量可能會隨時間變化,並且可能來自配置,例如dynamo DB。 (當然,更改只會在應用程序重新啟動時反映出來,但避免了代碼更改)

我不確定該解決方案能否解決您的問題。

U可以如下定義java類:

@ConfigurationProperties(prefix = "spring")
public class DataSources {

    private List<DataSource> datasource;

    public static class DataSource {
        private String name;
        private String url;
    }
}

這將映射以下配置

spring:
    datasource[0]:
        name: mysql
    datasource[1]:
        name: mongo
    datasource[2]:
        name: mssql

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM