使用Value注解出现Could not resolve placeholder ‘email_username‘ in value “${email_username}“踩坑!!!!!

1.遇到的问题

做项目时,在properties配置文件中添加了一些配置,但是引入时,一直出现Could not resolve placeholder ‘XXX’ in value "${XXX}"的错误,检查了类上的注解也存在,但是就是注入不进去。

2.原因

因为spring采用的反射扫描的发现机制,也就是spring容器中只能有一个 <context:property-placeholder />标签,如果有多个这个标签,那么谁最后来的,就会替换掉原来的那个,其他的就会被忽略掉,谁在后面加载,就用谁。

3.解决办法

1.集成到一块,一起加载
<context:property-placeholder location=“classpath:*.properties” />
注意:只能有一个,如果后面还有这个标签,一样会顶替掉
2.在每一个这个标签的后面,加上ignore-unresolvable=“true”,这样即使加载了多个的标签,也会保留下来,不会覆盖掉。

借鉴:
https://www.cnblogs.com/yes-V-can/p/6389571.html
https://blog.csdn.net/yu870646595/article/details/50979338
https://blog.csdn.net/u010668907/article/details/79410665

大坑!!!!!!

猜你喜欢

转载自blog.csdn.net/weixin_43431123/article/details/112000011