多环境配置--@value遇到的bug -- Could not resolve placeholder ‘XXX‘ in value “**${XXX}**“

小伙伴,大家好啊,我是你们熟悉的杨洋啊,上周因为身体不舒服再加上确实有点事情就更了一篇,这周会补上的,那么我们废话不多说,直奔主题:

遇到的报错
nested exception is java.lang.IllegalArgumentException: Could not resolve placeholder ‘XXX’ in value “${XXX}

出现这种问题的几种原因:

1.你的配置文件properties 或者 yml文件,没有写上对应的XXX及对应的值

1.1在配置文件加上对应的名字跟值

多环境配置--@value遇到的bug -- Could not resolve placeholder ‘XXX‘ in value “**${XXX}**“_第1张图片

1.2在引用的地方加上默认值,格式是 @Value("${xxx:home}")

多环境配置--@value遇到的bug -- Could not resolve placeholder ‘XXX‘ in value “**${XXX}**“_第2张图片

2.多环境配置的时候,默认的文件没有配置上你调用的自定义值

回答:这个情况比较特殊,是因为你的多环境配置文件是这样的时候,记住,是每个环境及默认的配置文件都要加上你的自定义属性。如下图:
多环境配置--@value遇到的bug -- Could not resolve placeholder ‘XXX‘ in value “**${XXX}**“_第3张图片
如果上述的默认配置文件你没加自定义属性,会导致本地开发的时候报上述错误。
而你打包的时候并不会报错,因为你勾选了环境,只有idea启动的时候会报错,一开始让我还纳闷了好一会。

好的,那这篇文章就到这结束了,如果解决了你的问题,麻烦点个赞,这周还会写2篇文章的,小伙伴们,那么,掰掰啦~

你可能感兴趣的:(spring配置,BUG)