簡體   English   中英

從yaml讀取顯示空值

[英]Reading from yaml is showing null values

要從yaml文件中讀取,我正在執行以下操作

@Configuration
@EnableConfigurationProperties
@ConfigurationProperties("partners")
public class YAMLConfig {

    private Map<String,String> partners = new HashMap<>();

    public void setPartners(Map<String, String> partners) {
        this.partners = partners;
    }

    public Map<String, String> getPartners() {
        return partners;
    }
}

yaml文件

person2:
  name: bbb
  addresses:
    to: jiang
    bit: su
partners:
  p1: wallet
  p2: wallet
  p3: wallet

在其他Java文件中,我自動裝配以獲得YamlConfig

@Service
public class ObjectModificationService {

    @Autowired
    YAMLConfig yamlConfig;

    public  JSONObject modify(JSONObject jsonObject ) {
        String type  = yamlConfig.getPartners().get(partnerName.toLowerCase());
    }
}

我沒有上面的任何類型,也檢查調試中的yamlConfig.getPartners()它是否為空。 我正在關注本教程: https//www.baeldung.com/spring-yaml ,但是當我將ConfigurationProperties放在沒有ConfigurationProperties(“合作伙伴”)的情況下IDE再次顯示錯誤。

在yml配置類中,將屬性注釋設置為“partners”,這意味着YAMLConfig類將僅嘗試讀取partner部分。 “person2”部分將不會被閱讀。

要檢索依賴注入值,只需調用: yamlConfig.getPartners()

此外,請確保application.yml位於資源目​​錄中和/或與.jar位於同一目錄中

您指定的合作伙伴地圖接受字符串值。 所以,在yaml配置文件中嘗試使用引號('')格式化的Map值

person2:
  name: bbb
  addresses:
    to: jiang
    bit: su
partners:
  p1: 'wallet'
  p2: 'wallet'
  p3: 'wallet'

暫無
暫無

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

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