2017-08-10 32 views
-1

我有一個「details.yml」文件,考慮從「yml.file」獲取所有值的所有設置完成。但我無法映射值存入 「地圖」如何從「yml」文件獲取地圖值作爲Map?

Here is my "details.yml" file below 


details: 
    company:XYZ 
    values: 
    name: Manish 
    last: Raut 

在我的類文件,我能夠得到「公司」從陽明文件使用@Value(「$ {}公司的價值觀「)

@Component 
@EnableConfigurationProperties 
@ConfigurationProperties(prefix = "details") 
public class abcd() { 

    @Value("${company}") 
    String company; 

    @Value("${values}") 
    Map<String, String> values =new HashMap<String, String>(); 
    ............................... 

} 

我不能在毛澤東中得到那些我在這堂課創建的價值,但我得到了」公司「的價值。

幫我這個忙嗎?

+0

希望下面的鏈接可以幫助你。 [https://stackoverflow.com/questions/24917194/spring-boot-inject-map-from-application-yml](https://stackoverflow.com/questions/24917194/spring-boot-inject-map-from-應用程序-yml) –

回答

0

過去,我爲MAP類型添加了getter/setter,這是工作。
你試過了嗎? ('values'的獲取/設置器)

+0

是的,我嘗試過,但當我嘗試打印時,獲得「null」作爲值。 – Manish

0

我不確定什麼編組框架Spring在幕後使用以及它如何配置它(你可能會發現一些調試,也許使它適用於你的情況),但你總是可以添加一個額外的圖層到你的應用程序並配置你自己的。

例如,您可以使用Jackson與yaml dataformat - https://dzone.com/articles/read-yaml-in-java-with-jackson

+0

謝謝replyng, 我試過,不是爲我工作。 – Manish