【转】Could not resolve placeholder 解决方案

spring 配置加载properties文件的时候,报

Could not resolve placeholder 错误。

经过仔细查找,排除文件路径,文件类容错误的原因,经过查找相关资料,出现"Could not resolve placeholder"很有可能是使用了多个PropertyPlaceholderConfigurer或者多个<context:property-placeholder>的原因或者是多个PropertyPlaceholderConfigurer与<context:property-placeholder>混合使用。

如果配置如下一定会报以上错误,不管是在多个配置文件中还是分别在不同文件中

<context:property-placeholder location="WEB-INF/config/db/XX.properties" />   <context:property-placeholder location="WEB-INF/config/dfs/XX.properties" />

解决方案:
在Spring3中可以用如下方式解决,增加ignore-unresolvable="true"属性,注意必须都要加上

<context:property-placeholder location="xxx.properties" ignore-unresolvable="true"  />  <context:property-placeholder location="yyy.properties" ignore-unresolvable="true"  />

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

<bean id="XX" class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">      <property name="location" value="xxx.properties" />      <property name="ignoreUnresolvablePlaceholders" value="true" />   </bean>

系统中如果报如上错误,可以这样查找:搜索系统中所有包含property-placeholder的文件,看是否包含ignore-unresolvable属性,然后搜索系统中所有包含PropertyPlaceholderConfigurer文件,看是否包含ignoreUnresolvablePlaceholders属性。

今天系统中报如上错误,就是因为按照PropertyPlaceholderConfigurer方式没有配置ignoreUnresolvablePlaceholders属性,而按照context:property-placeholder方式配置的都包含了ignore-unresolvable属性。



归根到底就是规范没到位,加载配置文件没统一

时间: 2024-10-12 01:21:00

【转】Could not resolve placeholder 解决方案的相关文章

【转】Spring项目启动报&quot;Could not resolve placeholder&quot;解决方法

问题的起因: 除去properites文件路径错误.拼写错误外,出现"Could not resolve placeholder"很有可能是使用了多个PropertyPlaceholderConfigurer或者多个<context:property-placeholder>的原因. 比如我有一个dao.xml读取dbConnect.properties,还有一个dfs.xml读取dfsManager.properties,然后web.xml统一load这两个xml文件,就

Could not resolve placeholder &#39;spring.security.mapping.directory&#39; in string value &quot;${spring.security

1.错误描述 2015-09-20 22:30:25 [main] WARN org.springframework.context.support.GenericApplicationContext - Exception encountered during context initialization - cancelling refresh attempt org.springframework.beans.factory.BeanDefinitionStoreException: In

Could not resolve placeholder

使用spring的<context:property-placeholder location="/WEB-INF/redis.properties"/>读取properties配置文件报错 Could not resolve placeholder 项目结构 配置 启动报错 顺着这个错误向上找发现.properties文件没有全部加载, log4j.properties在web.xml中配置加载, jdbc.properties和redis.properties文件都配置

Could not resolve placeholder &#39;master.jdbc.url&#39; in string value &quot;${master.jdbc.url}&quot;

org.springframework.beans.factory.BeanDefinitionStoreException: Invalid bean definition with name 'masterDataSource' defined in file [C:\workspace\.metadata\.plugins\org.eclipse.wst.server.core\tmp0\wtpwebapps\xinghe-mycenter-web\WEB-INF\classes\spri

Could not resolve placeholder &#39;jdbc.username&#39; in string value &quot;${jdbc.username}&quot;

1.错误描述 严重: Exception sending context initialized event to listener instance of class org.springframework.web.context.ContextLoaderListener org.springframework.beans.factory.BeanDefinitionStoreException: Invalid bean definition with name 'dataSource'

spring错误:&lt;context:property-placeholder&gt;:Could not resolve placeholder XXX in string value XXX

spring同时集成redis和mongodb时遇到多个资源文件加载的问题 这两天平台中集成redis和mongodb遇到一个问题 单独集成redis和单独集成mongodb时都可以正常启动程序,但是当两个同时集成进去时就会报以下问题 Could not resolve placeholder 'mongo.port' in string value "${mongo.port} 百思不得解后,经多方搜集查证,终于找到问题原因. 在spring的xml配置文件中当有多个*.properties文

websphere启动报/WEB-INF/applicationContext-orm- hibernate.xml]: Could not resolve placeholder &#39;hibernate.hbm2ddl.auto&#39; in string value &quot;${hibernate.hbm2ddl.auto}&quot;

启动websphere错误: [17-11-20 16:19:52:834 CST] 0000008e webapp I com.ibm.ws.webcontainer.webapp.WebApp log SRVE0292I: Servlet 消息 - [market_war#market.war]:.Initializing Spring root WebApplicati onContext [17-11-20 16:19:53:361 CST] 0000008e SystemOut O 2

Could not resolve placeholder &#39;driver&#39; in string value &quot;${driver}

可能是因为配置文件jdbc.properties 和xml文件不一致导致的,比如 jdbc.properties里面写的是 但是xml文件里面写 导致了取值错误,两边一致即可. Could not resolve placeholder 'driver' in string value "${driver} 原文地址:https://www.cnblogs.com/ljsn/p/8656493.html

Could not resolve placeholder&#39;XXX&#39; in string value &quot;XXXX&quot;

练习SSM项目的demo中遇到一个问题,我在applicationContext.xml中使用了<context:property-placeholder location="classpath:jdbc.properties"/>,我还想再引入另外一个resource.properties,resource.properties中的key我在controller层引用,用的是@Value(value="${type}")注解,总是出现如题的问题,从网上