spring中使用context:property-placeholder错误记录

问题:

最近使用spring时候, 使用@value注解, 想注入配置文件中的相关属性 .
这里写图片描述
但是出现下面错误:
Caused by: java.lang.IllegalArgumentException: Could not resolve placeholder ‘ITEM_INFO’ in string value “${ITEM_INFO}”
但是我发现我配置文件中已经配置了:


<context:property-placeholder location="classpath:properties/db.properties" />
<context:property-placeholder location="classpath:properties/resource.properties" />

但是这个resource.properties配置文件中的属性却没有注入进去, 但是我的另一个db.properties配置文件的数据库属性却已经注入进去,这就很奇怪了.
两个配置文件:
这里写图片描述

我就想, 难道第二个配置文件会被忽略吗?最后网上找了找这个配置的详细信息.
果然:
Spring容器仅允许最多定义一个PropertyPlaceholderConfigurer(或),其余的会被Spring忽略掉


解决办法:

使用一个配置,同时加载两个文件即可 :


    <context:property-placeholder location="classpath:properties/*.properties" />

你可能感兴趣的:(spring)