Spring中报Could not resolve placeholder的解决方案
除去properites文件路径错误、拼写错误外,出现"Could not resolve placeholder"很有可能是使用了多个PropertyPlaceholderConfigurer或者多个<context:property-placeholder>的原因。
比如我有一个dao.xml读取dbConnect.properties,还有一个dfs.xml读取dfsManager.properties,然后web.xml统一load这两个xml文件
- <context-param>
- <param-name>contextConfigLocation</param-name>
- <param-value>
- WEB-INF/config/spring/dao.xml,
- WEB-INF/config/spring/dfs.xml
- </param-value>
- </context-param>
如果这两个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文件还是在多个Spring文件被统一load的情况下,直接写
- <context:property-placeholder location="" />
- <context:property-placeholder location="" />
是不允许的。
解决方案:
(1) 在Spring 3.0中,可以写:
- <context:property-placeholder location="xxx.properties" ignore-unresolvable="true"
- />
- <context:property-placeholder location="yyy.properties" ignore-unresolvable="true"
- />
注意两个都要加上ignore-unresolvable="true",一个加另一个不加也是不行的
(2) 在Spring 2.5中,<context:property-placeholder>没有ignore-unresolvable属性,此时可以改用PropertyPlaceholderConfigurer。其实<context:property-placeholder location="xxx.properties" ignore-unresolvable="true" />与下面的配置是等价的
- <bean id="随便" class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">
- <property name="location" value="xxx.properties" />
- <property name="ignoreUnresolvablePlaceholders" value="true" />
- </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的解决方案相关推荐
- spring读取多个配置properties报错“Could not resolve placeholder“的解决方案
spring读取多个配置properties报错"Could not resolve placeholder"的解决方案 参考文章: (1)spring读取多个配置properti ...
- Could not resolve placeholder 解决方案
用spring 配置加载properties文件的时候,报 Could not resolve placeholder 错误. 经过仔细查找,排除文件路径,文件类容错误的原因,经过查找相关资料,出现& ...
- Spring项目启动报Could not resolve placeholder解决
1.问题的起因: 除去properites文件路径错误.拼写错误外,出现"Could not resolve placeholder"很有可能是使用了多个PropertyPlace ...
- Could not resolve placeholder解决方案
转载:http://aoyi.iteye.com/blog/1151757 除去properites文件路径错误.拼写错误外,出现"Could not resolve placeholder ...
- 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 ...
- 启动错误:Could not resolve placeholder 'spring.datasource.url' in value ${spring.datasource.url}
项目启动报错:Could not resolve placeholder 'spring.datasource.url' in value "${spring.datasource.url} ...
- springboot启动突然报错Could not resolve placeholder 'spring.datasource.driver-class-name'
之前好好的项目,今天启动突然报错Could not resolve placeholder 'spring.datasource.driver-class-name' 按照网友的方法,添加了 @Pro ...
- 全网最完美地解决使用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 ...
- Spring boot 启动错误:Could not resolve placeholder
在启动整个spring boot项目时,出现错误: Could not resolve placeholder 原因:没有指定好配置文件,因为src/main/resources下有多个配置文件,例如 ...
最新文章
- 唯一索引允许为空吗_一次 MySQL 索引面试,被面试官怼的体无完肤!
- Cambridge center for social innovation
- C语言实现最长子序列 longest subsequence 算法(附完整源码)
- 索尼笔记本bios如何设置VT-x/AMD-V兼容
- Qt删除 空格/空白符
- 2003文件共享服务器搭建,用Windows Server 2003搭建安全文件服务器(2)
- 如何让Jython自动加载一个Jar包
- linux设备/驱动的注册
- 7 种 JVM 垃圾收集器,Java语言实现核心,看完我跪了
- php表决器代码,三人表决器:VHDL源代码
- 【数据科学】肯德尔等级相关系数( Kendall's tau coefficient )
- 周一清晨的管理课-全球第一畅销领导力培训手册
- Win10 官方版下载地址 windows10 1909微软原版光盘镜像下载
- Python2视频教程
- Scrum Master: 应做和不应做的事情
- .net wap网站开发资料收集
- 使用Retrofit2封装适用于组件化项目的网络库
- html中精灵图的使用方法,关于CSS Sprites、CSS精灵的详细解析
- Oracle Demo库默认用户/密码为什么叫Scott/Tigger?
- visio2013每次打开都进行设置 解决办法