`

关于系统中使用多个PropertyPlaceholderConfigurer的配置

阅读更多

数的鲜为人知方法都是因为有着罕见的应用,就比如说Spring中PropertyPlaceholderConfigurer这个类,它是用来解析Java Properties属性文件值,并提供在spring配置期间替换使用属性值。接下来让我们逐渐的深入其配置。

 

 基本的使用方法是:(1)

 

<bean id="propertyConfigurerForAnalysis" class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">
    <property name="location">
        <value>classpath:/spring/include/dbQuery.properties</value>
    </property>
</bean>

其中classpath是引用src目录下的文件写法。

 

 

当存在多个Properties文件时,配置就需使用locations了:(2)

 

<bean id="propertyConfigurer" class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">
    <property name="locations">
       <list>
          <value>classpath:/spring/include/jdbc-parms.properties</value>
          <value>classpath:/spring/include/base-config.properties</value>
        </list>
    </property>
</bean>

 

接下来我们要使用多个PropertyPlaceholderConfigurer来分散配置,达到整合多工程下的多个分散的Properties文件,其配置如下:(3)

 

<bean id="propertyConfigurerForProject1" class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">
    <property name="order" value="1" />
    <property name="ignoreUnresolvablePlaceholders" value="true" />
    <property name="location">
       <value>classpath:/spring/include/dbQuery.properties</value>
    </property>
</bean>

 

<bean id="propertyConfigurerForProject2" class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">
    <property name="order" value="2" />
    <property name="ignoreUnresolvablePlaceholders" value="true" />
    <property name="locations">
      <list>
        <value>classpath:/spring/include/jdbc-parms.properties</value>
        <value>classpath:/spring/include/base-config.properties</value>
      </list>
    </property>
</bean>

 

其中order属性代表其加载顺序,而ignoreUnresolvablePlaceholders为是否忽略不可解析的Placeholder,如配置了多个PropertyPlaceholderConfigurer,则需设置为true

 

至此你已经了解到了如何使用PropertyPlaceholderConfigurer,如何使用多个Properties文件,以及如何配置多个PropertyPlaceholderConfigurer来分解工程中分散的Properties文件。至于PropertyPlaceholderConfigurer还有更多的扩展应用,如属性文件加密解密等方法将在之后的博文中续写。

 

15
0
分享到:
评论
3 楼 建悦胡 2017-07-04  
好文,必须顶
2 楼 阿毛色色 2016-04-09  
感谢!解决问题
1 楼 hjg1988 2010-05-10  
太好了,这个问题总算找到解决方法了

相关推荐

    Spring PropertyPlaceholderConfigurer配置文件加载器集成ZooKeeper来实现远程配置读取

    以上就是关于"Spring PropertyPlaceholderConfigurer配置文件加载器集成ZooKeeper来实现远程配置读取"的详细解释,涵盖了Spring的配置处理、ZooKeeper的使用以及两者结合的实现过程。理解并掌握这一技术,有助于提升...

    Spring属性占位符PropertyPlaceholderConfigurer的使用

    它使得我们可以在XML配置文件中使用占位符`${...}`来引用外部属性文件中的值,从而使应用配置更加灵活和可维护。下面我们将详细探讨`PropertyPlaceholderConfigurer`的工作原理、使用方法以及其在实际开发中的应用。...

    关于spring系统中多系统的配置

    本文将详细介绍如何在一个项目中配置多个系统,尤其是在涉及到多个属性文件时的处理方式。 #### Spring中的PropertyPlaceholderConfigurer类 在Spring框架中,`PropertyPlaceholderConfigurer`是一种特殊的Bean,...

    ssh配置多个数据库

    SSH 配置多个数据库 SSH 配置多个数据库是在项目中遇到连接多个数据库的情况,并且根据用户的操作不同,连接不同的数据库,这时,就要动态切换数据库。本文将介绍如何使用 Spring 和 Hibernate 配置多个数据库,...

    Spring如何使用PropertyPlaceholderConfigurer读取文件

    在上面的配置中,我们使用了@Value注解来指定配置文件的路径,然后使用PropertyPlaceholderConfigurer来读取配置文件。 PropertyPlaceholderConfigurer是一个非常有用的组件,它可以帮助我们实现系统的配置信息统一...

    org.springframework.beans.factory.config.PropertyPlaceholderConfigurer

    这个类是Spring在初始化bean时用来解析和注入环境变量或系统属性的关键工具,使得开发者可以在配置文件中使用`${property}`形式的占位符,然后在运行时被实际值替换。 在Spring应用中,我们经常会在XML配置文件或者...

    属性占位符配置器

    - **配置的层次性**:可以定义多个`PropertyPlaceholderConfigurer`实例,通过优先级设置来实现多层配置的覆盖和融合。 - **环境适应性**:利用系统环境变量或特定的属性文件,根据当前运行环境动态加载配置。 - **...

    bboss ioc配置文件中使用外部属性文件介绍

    在上述配置中,`locations`属性指定了属性文件的位置,`classpath:`前缀表示在类路径下查找`config.properties`文件。 一旦外部属性文件被引入,我们就可以在其他bean的配置中引用这些属性。例如,如果我们有一个...

    Spring动态加载配置文件

    在Spring框架中,动态加载配置文件是一项重要的...总的来说,Spring动态加载配置文件涉及到IoC容器、属性源、配置加载策略和刷新机制等多个方面。理解和掌握这些知识点,可以帮助我们构建更加灵活和适应性强的应用。

    Spring中配置和读取多个Properties文件的方式方法

    在Spring框架中,配置和读取多个Properties文件是常见的需求,尤其在大型系统中,不同模块的配置往往被拆分到不同的文件中以保持代码的整洁性和可维护性。本篇文章将详细介绍如何在Spring中实现这一功能。 首先,让...

    引入多个properties时.txt

    在SSM框架开发过程中,通常会采用多个`properties`文件来存储不同的配置信息,比如数据库连接信息、系统资源路径等。这样做可以提高代码的可维护性和可读性,同时也便于后期对项目的维护和扩展。但是,在引入多个`...

    Spring加载配置和读取多个Properties文件的讲解

    通常情况下,一个系统中会存在多个 Properties 文件,每个文件都包含着特定的配置信息。 在Spring中,加载和读取Properties文件可以使用`PropertyPlaceholderConfigurer`bean。该bean可以将多个Properties文件加载...

    spring mvc 读取配置文件

    在Java配置中,我们可以通过`@ImportResource`注解引入XML配置: ```java @Configuration @ImportResource("classpath:applicationContext.xml") public class AppConfig { // ... } ``` 配置文件中,bean的定义...

    spring配置两个数据

    而在多数据源管理方面,Spring同样提供了灵活且强大的支持,允许开发者在一个应用程序中配置和使用多个数据源,满足了复杂业务场景下对不同数据库操作的需求。 ### Spring配置两个数据源 #### 核心概念解析 **...

    spring对多个数据库进行事务管理.doc

    在Spring配置中引用这些属性,确保数据源配置正确。 ```xml &lt;bean id="propertyConfigurer" class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer"&gt; &lt;value&gt;classpath:database....

    Spring+Ibatis 访问多个数据源

    下面将详细介绍如何在Spring中配置和使用多个数据源,以及结合Ibatis进行数据访问。 首先,我们需要在`jdbc.properties`文件中配置每个数据源的相关参数,如驱动类名、URL、用户名和密码。在这个例子中,有两个数据...

    SSM 读取properties文件

    在Java开发领域,尤其是SSM(Spring、SpringMVC、MyBatis...在实际项目中,可能会有多个properties文件,比如`database.properties`、`email.properties`等,这时可以通过`locations`属性一次性加载多个文件: ```xml ...

    在Spring中使用加密外部属性文件

    在Spring框架中,属性文件是配置关键信息的常用...通过这种方式,你可以在Spring中安全地使用外部属性文件,同时满足系统的安全需求。这种做法不仅可以提高应用的可维护性和部署效率,还能保护敏感信息,降低安全风险。

    Spring_MVC详解学习.pdf

    Spring MVC框架的高级配置包括了如何管理基于Spring的Web应用程序的多个实例。这对于Web开发非常重要,尤其是在多地理位置团队协作的复杂场景中。应用程序配置包括但不限于数据库URL、SMTP服务器等特定服务器的资源...

Global site tag (gtag.js) - Google Analytics