`
neil-jh
  • 浏览: 147544 次
  • 性别: Icon_minigender_1
  • 来自: 上海
文章分类
社区版块
存档分类
最新评论

关于 PropertyPlaceholderConfigurer

阅读更多
在Spring中,使用PropertyPlaceholderConfigurer可以在XML配置文件中加入外部属性文件,例如:


<bean id="propertyConfigurer" 
	class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">
  <property name="location" value="classpath:config/jdoserver.properties"/>
</bean>



但是好像在属性文件定义中却不支持多个属性文件的定义,比如不能这样用config/*.properties。

经过查看源码,发现可以使用locations属性定义多个配置文件:
<property name="locations">
            <list>
                <value>classpath:config/maxid.properties</value>
                <value>classpath:config/jdoserver.properties</value>
            </list>
</property>


使用外部属性后如下:
<bean id="dataSource" class="org.springframework.jdbc.datasource.DriverManagerDataSource">
        <property name="driverClassName" value="${jdbc.agent.driver}"/>
        <property name="url" value="${jdbc.agent.main.url}"/>
    </bean>



例子:
Spring的框架中为提供了一个BeanFactoryPostProcessor的实体类别: org.springframework.beans.factory.config.PropertyPlaceholderConfigurer
可以将一些动态参数,移出至.properties中,如此的安排可以让XML定义系统相关设定(不常变动),而.properties可以作为客户根据实际自定义一些相关参数。(如不同人数据库的不同密码)
applicationConfig.xml

<beans>  
        <bean id="propertyConfigurer"  
        class="org.springframework.beans.factory.config.<SPAN class=hilite1>PropertyPlaceholderConfigurer</SPAN>">  
        <property name="location">  
            <value>/WEB-INF/db.properties</value>  
        </property>  
    </bean>  
  
    <bean id="dataSource"  
        class="org.logicalcobwebs.proxool.ProxoolDataSource">  
        <property name="driver">  
            <value>${driver}</value>  
        </property>  
        <property name="driverUrl">  
            <value>${driverUrl}</value>  
        </property>  
        <property name="user">  
            <value>${user}</value>  
        </property>  
        <property name="password">  
            <value>${password}</value>  
        </property>  
        <property name="alias">  
            <value>spring</value>  
        </property>  
        <property name="houseKeepingSleepTime">  
            <value>90000</value>  
        </property>  
        <property name="prototypeCount">  
            <value>5</value>  
        </property>  
        <property name="maximumConnectionCount">  
            <value>100</value>  
        </property>  
        <property name="minimumConnectionCount">  
            <value>10</value>  
        </property>  
        <property name="trace">  
            <value>true</value>  
        </property>  
        <property name="verbose">  
            <value>true</value>  
        </property>  
    </bean>  
</beans>  



db.properties
driver=com.mysql.jdbc.Driver   
driverUrl=jdbc:mysql://localhost/securedoc?user=root&password=sqladmin&useUnicode=true&characterEncoding=GBK   
user=root   
password=sqladmin  

分享到:
评论
1 楼 ljm3256748 2009-01-13  
问下,如果我在a.xml里配置了个propertyConfigurer的bean,在b.xml里使用${XXX}无效,是怎么回事呀

相关推荐

    Spring中PropertyPlaceholderConfigurer的使用

    Spring 中 PropertyPlaceholderConfigurer 的使用 PropertyPlaceholderConfigurer 是 Spring 框架中的一个重要组件,用于加载和管理 Properties 文件。它能够将 Properties 文件中的键值对注入到 Spring 的 bean 中...

    Spring属性占位符PropertyPlaceholderConfigurer的使用

    在Spring框架中,属性占位符`PropertyPlaceholderConfigurer`是一个重要的工具,用于处理配置文件中的属性值引用。它使得我们可以在XML配置文件中使用占位符`${...}`来引用外部属性文件中的值,从而使应用配置更加...

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

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

    org.springframework.beans.factory.config.PropertyPlaceholderConfigurer

    `spring1.docx`和`spring2.docx`可能是两份关于Spring框架的文档,可能包含了更多关于`PropertyPlaceholderConfigurer`的使用示例、最佳实践以及与其他Spring特性(如`@Value`注解、`@ConfigurationProperties`等)...

    Spring如何使用PropertyPlaceholderConfigurer读取文件

    Spring如何使用PropertyPlaceholderConfigurer读取文件 Spring框架中,PropertyPlaceholderConfigurer是一个非常重要的组件,它可以帮助我们读取配置文件,实现系统的配置信息统一管理。在大型项目中,我们往往会将...

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

    ### 关于Spring系统中多系统的配置 在Spring框架中,我们经常会遇到单个工程需要配置多个子系统的场景。为了更好地管理这些子系统及其配置,Spring提供了多种方式来处理这一问题。本文将详细介绍如何在一个项目中...

    SPRING:bean配置properties

    在Spring框架中,Bean的配置与管理是其核心功能之一,而通过`PropertyPlaceholderConfigurer`进行属性占位符的配置则是实现动态配置的关键技术。本文将深入解析如何利用`PropertyPlaceholderConfigurer`进行bean配置...

    基于Spring2.0 Property Placeholder配置的源码例子

    Spring 2.0引入了`PropertyPlaceholderConfigurer`类,它是一个Bean工厂后处理器,负责在Bean定义中替换以`${...}`形式的占位符为实际的属性值。这些属性通常来自一个或多个`.properties`文件,可以是classpath下的...

    SSM 读取properties文件

    在Spring框架中,读取properties文件主要通过两种方式:`PropertyPlaceholderConfigurer` 和 `@Value` 注解。 1. **PropertyPlaceholderConfigurer**: 这是一个Spring的bean定义类,它允许我们从properties文件中...

    java 获取properties的几种方式(csdn)————程序.pdf

    Spring提供了`PropertyPlaceholderConfigurer`类,它可以将Properties文件中的值注入到Bean的属性中。在XML配置文件中,我们创建一个`PropertyPlaceholderConfigurer`的Bean,并指定`location`属性为Properties文件...

    Spring 容器后处理器

    `PropertyPlaceholderConfigurer`是一个常用的容器后处理器,它的主要作用是从外部的属性文件中读取配置信息,并将这些配置信息插入到BeanFactory的定义中。这使得可以在不修改主配置文件的情况下更改某些配置值,如...

    说说在Spring中如何引用外部属性文件的方法

    除了使用 PropertyPlaceholderConfigurer 之外,我们还可以使用 context 命名空间来定义属性文件,相对于 PropertyPlaceholderConfigurer 的配置方式,这种方式更优雅。 ``` file-encoding="utf-8"/&gt; ``` 在 ...

    JDBC Template源码.7z

    本文将深入探讨JDBC Template的源码,结合MySQL数据库,展示其在实际应用中的使用,并提及Spring框架中的`PropertyPlaceholderConfigurer`和`BeanPropertyRowMapper`组件。 首先,JDBC Template通过预编译SQL语句、...

    spring配置文件

    `PropertyPlaceholderConfigurer`是Spring提供的一个实用工具类,它允许我们在配置文件中使用占位符 `${...}` 来引用外部属性文件中的值。在示例中,`location`属性指定了属性文件的位置,如`classpath:/spring/...

    spring4.0引用properties

    `PropertyPlaceholderConfigurer`是Spring早期版本中用于注入properties文件中值的bean,而`@ConfigurationProperties`是Spring Boot引入的,更适合现代Spring应用。 使用`PropertyPlaceholderConfigurer`的例子...

    SpringValue注解

    在上面的配置中,我们定义了一个名为 appProperty 的 Bean,该 Bean 使用 PropertyPlaceholderConfigurer 类来加载名为 config.properties 的 properties 文件。 使用 @Value 注解 在 Bean 中,可以使用 @Value ...

    属性占位符配置器

    2. **配置PropertyPlaceholderConfigurer**:在Spring配置文件中,通过`&lt;bean&gt;`元素定义一个`PropertyPlaceholderConfigurer`实例,并设置其`location`属性指向外部属性文件的位置。 3. **使用占位符**:在其他Bean...

    spring 启动时加载不同的文件

    - **定义**: `PropertyPlaceholderConfigurer`是Spring框架提供的用于解析`properties`文件中定义的占位符的工具类。 - **功能**: 它能够将`properties`文件中的键值对映射到Spring容器中,供其他Bean使用。 **2. ...

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

    Spring默认的`PropertyPlaceholderConfigurer`不直接支持加密的属性文件,但它提供了扩展点,允许我们自定义实现来处理加密后的属性。以下是一种实现方式: 1. 创建一个自定义的`PropertyPlaceholderConfigurer`...

    spring读取properties

    在Spring框架中,读取和使用...在Spring的配置文件中,首先需要定义一个`PropertyPlaceholderConfigurer` bean,这是Spring用来解析Properties文件并将其值注入到其他bean中的关键组件。如示例所示: ```xml ...

Global site tag (gtag.js) - Google Analytics