除去properites文件路径错误、拼写错误外,出现"Could not resolve placeholder"很有可能是使用了多个PropertyPlaceholderConfigurer或者多个<context:property-placeholder>的原因。

  比如我有一个dao.xml读取dbConnect.properties,还有一个dfs.xml读取dfsManager.properties,然后web.xml统一load这两个xml文件

Xml代码  
  1. <context-param>
  2. <param-name>contextConfigLocation</param-name>
  3. <param-value>
  4. WEB-INF/config/spring/dao.xml,
  5. WEB-INF/config/spring/dfs.xml
  6. </param-value>
  7. </context-param>

如果这两个xml文件中分别有

Xml代码  
  1. <!-- dao.xml -->
  2. <context:property-placeholder location="WEB-INF/config/db/dbConnect.properties" />
  3. <!-- dfs.xml -->
  4. <context:property-placeholder location="WEB-INF/config/dfs/dfsManager.properties" />

那么,一定会出"Could not resolve placeholder"。

  一定要记住,不管是在一个Spring文件还是在多个Spring文件被统一load的情况下,直接写

Xml代码  
  1. <context:property-placeholder location="" />
  2. <context:property-placeholder location="" />

是不允许的。

解决方案:

  (1) 在Spring 3.0中,可以写:

Xml代码  
  1. <context:property-placeholder location="xxx.properties" ignore-unresolvable="true"
  2. />
  3. <context:property-placeholder location="yyy.properties" ignore-unresolvable="true"
  4. />

注意两个都要加上ignore-unresolvable="true",一个加另一个不加也是不行的

  (2) 在Spring 2.5中,<context:property-placeholder>没有ignore-unresolvable属性,此时可以改用PropertyPlaceholderConfigurer。其实<context:property-placeholder location="xxx.properties" ignore-unresolvable="true" />与下面的配置是等价的

Java代码  
  1. <bean id="随便" class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">
  2. <property name="location" value="xxx.properties" />
  3. <property name="ignoreUnresolvablePlaceholders" value="true" />
  4. </bean>

  正因为如此,写多个PropertyPlaceholderConfigurer不加ignoreUnresolvablePlaceholders属性也是一样会出"Could not resolve placeholder"。

  虽然两者是的等价的,但估计大家还是喜欢写<context:property-placeholder>多一些,毕竟简单一些嘛。所以如果是Spring 3.0,直接用解决方案(1)再简单不过了;如果是Spring 2.5,需要费点力气改写成PropertyPlaceholderConfigurer

转载地址:https://aoyi.iteye.com/blog/1151757

Spring中报Could not resolve placeholder的解决方案相关推荐

  1. spring读取多个配置properties报错“Could not resolve placeholder“的解决方案

    spring读取多个配置properties报错"Could not resolve placeholder"的解决方案 参考文章: (1)spring读取多个配置properti ...

  2. Could not resolve placeholder 解决方案

    用spring 配置加载properties文件的时候,报 Could not resolve placeholder 错误. 经过仔细查找,排除文件路径,文件类容错误的原因,经过查找相关资料,出现& ...

  3. Spring项目启动报Could not resolve placeholder解决

    1.问题的起因: 除去properites文件路径错误.拼写错误外,出现"Could not resolve placeholder"很有可能是使用了多个PropertyPlace ...

  4. Could not resolve placeholder解决方案

    转载:http://aoyi.iteye.com/blog/1151757 除去properites文件路径错误.拼写错误外,出现"Could not resolve placeholder ...

  5. Springboot Could not resolve placeholder ‘spring.data.mongodb.database’ in value “${spring.data.mong

    Springboot Could not resolve placeholder 'spring.data.mongodb.database' in value "${spring.data ...

  6. 启动错误:Could not resolve placeholder 'spring.datasource.url' in value ${spring.datasource.url}

    项目启动报错:Could not resolve placeholder 'spring.datasource.url' in value "${spring.datasource.url} ...

  7. springboot启动突然报错Could not resolve placeholder 'spring.datasource.driver-class-name'

    之前好好的项目,今天启动突然报错Could not resolve placeholder 'spring.datasource.driver-class-name' 按照网友的方法,添加了 @Pro ...

  8. 全网最完美地解决使用spring boot的@Value(“${xxx}“)注解时报出的错误:Could not resolve placeholder ‘xxx‘ in value “${xxx}“

    文章目录 1. 复现问题 2. 分析问题 3. 解决问题 4. 其他解决方案 4.1 检测语法是否正确 4.2 检测配置文件中是否有进行配置 4.3 检测是否增加注解 4.4 检测代码中的书写方式 4 ...

  9. Spring boot 启动错误:Could not resolve placeholder

    在启动整个spring boot项目时,出现错误: Could not resolve placeholder 原因:没有指定好配置文件,因为src/main/resources下有多个配置文件,例如 ...

最新文章

  1. 唯一索引允许为空吗_一次 MySQL 索引面试,被面试官怼的体无完肤!
  2. Cambridge center for social innovation
  3. C语言实现最长子序列 longest subsequence 算法(附完整源码)
  4. 索尼笔记本bios如何设置VT-x/AMD-V兼容
  5. Qt删除 空格/空白符
  6. 2003文件共享服务器搭建,用Windows Server 2003搭建安全文件服务器(2)
  7. 如何让Jython自动加载一个Jar包
  8. linux设备/驱动的注册
  9. 7 种 JVM 垃圾收集器,Java语言实现核心,看完我跪了
  10. php表决器代码,三人表决器:VHDL源代码
  11. 【数据科学】肯德尔等级相关系数( Kendall's tau coefficient )
  12. 周一清晨的管理课-全球第一畅销领导力培训手册
  13. Win10 官方版下载地址 windows10 1909微软原版光盘镜像下载
  14. Python2视频教程
  15. Scrum Master: 应做和不应做的事情
  16. .net wap网站开发资料收集
  17. 使用Retrofit2封装适用于组件化项目的网络库
  18. html中精灵图的使用方法,关于CSS Sprites、CSS精灵的详细解析
  19. Oracle Demo库默认用户/密码为什么叫Scott/Tigger?
  20. visio2013每次打开都进行设置 解决办法

热门文章

  1. 【YOLOV5-5.x 源码解读】detect.py
  2. 数据结构——图书管理系统
  3. SurfaceGo_BMR_41_1.011.2.zip恢复镜像网盘满速下载地址
  4. 实现数据库存入html代码,并在前端就页面返回。
  5. CHINAPLAS国际橡塑展落户深圳,扬帆启航踏新程
  6. Flyback Converter电源基本电路分析
  7. ubuntu QT安装
  8. OpenCV信用卡识别
  9. Android最好用的项目框架搭建
  10. RV1126编译ROS Kinetic环境(Ubuntu18.04)