编写SpringCloud的Config Client端时,当尝试去配置文件里拿某${xxx}的值会出现以下错误:
org.springframework.beans.factory.BeanCreationException: Error creating bean with nameInjection of autowired dependencies failed; nested exception is java.lang.IllegalArgumentException: Could not resolve placeholder 'xxx' in value "${xxx}。
当在第一个application.yml下找不到的时候,它就会报错。
参考诸多解决方法,发现在主启动类中添加如下片段是正解:
@Bean
public static PropertySourcesPlaceholderConfigurer placeholderConfigurer() {
PropertySourcesPlaceholderConfigurer c = new PropertySourcesPlaceholderConfigurer();
c.setIgnoreUnresolvablePlaceholders(true);
return c;
}
添加之后会忽略暂时在该配置文件里未取到的value,继续寻找下去,该问题就解决了。