除去properites文件路径错误、拼写错误外,出现"Could not resolve placeholder"很有可能是使用了多个PropertyPlaceholderConfigurer或者多个<context:property-placeholder>的原因。
比如我有一个dao.xml读取dbConnect.properties,还有一个dfs.xml读取dfsManager.properties,然后web.xml统一load这两个xml文件
如果这两个xml文件中分别有
<!-- dao.xml -->
<context:property-placeholder location="WEB-INF/config/db/dbConnect.properties" />
<!-- dfs.xml -->
<context:property-placeholder location="WEB-INF/config/dfs/dfsManager.properties" />
那么,一定会出"Could not resolve placeholder"。
解决方案:
在Spring 3.0中,可以写:
<context:property-placeholder location="xxx.properties" ignore-unresolvable="true" />
<context:property-placeholder location="yyy.properties" ignore-unresolvable="true" />
注意两个都要加上ignore-unresolvable="true",一个加另一个不加也是不行的
spring3.0以下版本应用太少,自行Google。。