Spring报Could not resolve placeholder解决法

经常有在一个xml文件内需要引入大于1个properties资源文件的情况,但会在启动应用服务器是报Could not resolve placeholder错误,除去properites文件路径错误、拼写错误外,出现"Could not resolve placeholder"很有可能是使用了多个PropertyPlaceholderConfigurer或者多个<context:property-placeholder>的原因。

操作方法

  • 01

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

  • 02

    如果这两个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"。

  • 03

    一定要记住,不管是在一个spring文件还是在多个Spring文件被统一load的情况下,直接写 <context:property-placeholder location="" /> <context:property-placeholder location="" /> 是不允许的。

  • 04

    解决方案: (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",一个加另一个不加也是不行的。

  • 05

    (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"。

(0)

相关推荐

  • Win7系统IE9浏览器出现报错停止工作怎么解决

    Win7系统IE9浏览器出现报错停止工作怎么解决 首先要排除出是否加载项导致的问题,我们可以先以无加载项模式启动IE浏览器,若在该模式下IE使用正常,则可以确认浏览器崩溃为加载项所致,接下来只需要找出 ...

  • win8安装office2010失败报错代码2705怎么解决

    win8安装office2010失败报错代码2705怎么解决 因为Windows 8上不支持Office 的中文输入法编辑器,即字体有冲突,此类情况仅出现在 Windows 8 64Bit 消费者预览 ...

  • 微信授权登录报redirect_uri参数错误的解决办法

    微信授权登录报redirect_uri参数错误的解决办法 操作方法 01 如图: 02 首先登录mp.weixin.qq.com,往下拉,找到开发-接口权限-网页账号 网页授权获取用户基本信息,点击修 ...

  • 电脑用久了变卡4步解决法

    很多电脑在用久了就会变卡,然而有些小伙伴却不知道如何解决,这里小编就给大家分享电脑用久了变卡4步解决法. 变卡原因 01 电脑用久了,电脑软件会缓存大量的图片文件,使电脑变卡. 02 在卸载电脑时,没 ...

  • windows8系统连接网络报651错误的具体解决思路

    买了台索尼的电脑,网卡是realtek pcie gbe的。 买了个路由器是TP-Link的,根据说明书上登录192.168.1.1进行设置无线 连接名称、联网用户名、密码,就ok了。 索尼电脑连无线 ...

  • 局域网中网络通而网速慢的故障解决法

    计算机网络发生故障是不可避免的。网络故障诊断是网络管理的重要工作。一般当网络发生信息不通、不能浏览Web等连通性故障时,故障现象比较明确,容易观察和定位故障点,此类故障解决起来并不困难。然而最令人头痛 ...

  • 详解打开网页js报错问题的多种解决方法

    打开网页js报错问题详解,具体内容如下所示: 最近时常会碰到网页报错的问题,因为最近图方便,会用到很多现成的js。 报错的解决,第一个就是看,找出错误,直接就是点右下角的,看一下第几行,然后,右键页面 ...

  • 通过Navicat for MySQL远程连接的时候报错mysql 1130的解决方法

    Navicat for mysql 1130错误 用Navicat连接远程MYSQL,提示如下错误,我以为是自己的防火墙问题,但是关了,依然不行。 我认为这段英文,有点误导,让人感觉是自己这边出了问题 ...

  • win8.1系统C++报错rundll32.exe如何解决

    问:我的系统是win8.1的,最近不知是怎么得,有时候弹出rundll32.exe报错,请问各位大神有没有好的解决方案呢? 或者各位有没有用win8.1 X64的把你的rundll32.exe文件考出 ...