繁体   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