解决关于配置文件的占位符无法读取问题

Posted BINGJJFLY

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了解决关于配置文件的占位符无法读取问题相关的知识,希望对你有一定的参考价值。

前提是:

  其他的配置文件中已经配置了<context:property-placeholder location="classpath:jdbc.properties"/>

主要原因是:

  Spring容器采用反射扫描的发现机制,在探测到Spring容器中有一个org.springframework.beans.factory.config.PropertyPlaceholderConfigurer的Bean就会停止对剩余PropertyPlaceholderConfigurer的扫描(Spring 3.1已经使用PropertySourcesPlaceholderConfigurer替代PropertyPlaceholderConfigurer了)。而<context:property-placeholder/>这个基于命名空间的配置,其实内部就是创建一个PropertyPlaceholderConfigurer Bean而已。换句话说,即Spring容器仅允许最多定义一个PropertyPlaceholderConfigurer(或<context:property-placeholder/>),其余的会被Spring忽略掉。

解决方法是:
  改成<context:property-placeholder location="classpath:redis.properties" ignore-unresolvable="true"/>

以上是关于解决关于配置文件的占位符无法读取问题的主要内容,如果未能解决你的问题,请参考以下文章

关于dubbo 占位符无法解析问题

Spring源码分析.properties文件读取及占位符${...}替换源码解析

spring加载配置文件无法解析占位符问题:Could not resolve placeholder 'from' in string value "${from}&quo

配置文件或者模板中的占位符替换工具类

8 -- 深入使用Spring -- 1...4 属性占位符配置器

Spring4.0+Mybatis整合时占位符无法读取jdbc.properties的问题