`

PropertyPlaceholderConfigurer用法

阅读更多

Spring的框架中为您提供了一个 BeanFactoryPostProcessor 的实作类别: org.springframework.beans.factory.config.PropertyPlaceholderConfigurer。藉由这个类别,您可以将一些组态设定,移出至.properties档案中,如此的安排可以让XML定义档负责系统相关设定,而.properties档可以作为客户根据需求,自定义一些相关的参数。

来看一个Bean定义档的实际例子:

  • beans-config.xml
<?xml version="1.0" encoding="UTF-8"?> 
<!DOCTYPE beans PUBLIC "-//SPRING/DTD BEAN/EN" 
  "http://www.springframework.org/dtd/spring-beans.dtd"> 

<beans>  
    <bean id="configBean" 
 class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer"> 
<property name="location">
<value>hello.properties</value>
</property>
</bean> <bean id="helloBean" class="onlyfun.caterpillar.HelloBean"> <property name="helloWord"> <value>${onlyfun.caterpillar.helloWord}</value> </property> </bean> </beans>


假设在helloBean中有许多依赖注入的属性,这些都是比较不常变动的属性,而其中helloWord会经常变动,可以透过hello.properties来简单的设定,而这个资讯已设定在configBean的location属性中:

  • hello.properties
onlyfun.caterpillar.helloWord=Welcome!


在helloBean的helloWord属性中,${onlyfun.caterpillar.helloWord}将会被hello.properties的helloWord所取代。

如果有多个.properties档案,则可以透过locations属性来设定,例如:

  • beans-config.xml

 

<?xml version="1.0" encoding="UTF-8"?> 
<!DOCTYPE beans PUBLIC "-//SPRING/DTD BEAN/EN" 
  "http://www.springframework.org/dtd/spring-beans.dtd"> 

<beans>  
    <bean id="configBean" 
  class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer"> 
<property name="locations"> <list>
<value>hello.properties</value> <value>welcome.properties</value> <value>other.properties</value>
</list> </property>
</bean> <bean id="helloBean" class="onlyfun.caterpillar.HelloBean"> <property name="helloWord"> <value>${onlyfun.caterpillar.helloWord}</value> </property> ... </bean> </beans>
分享到:
评论

相关推荐

    Spring中PropertyPlaceholderConfigurer的使用

    Spring 中 PropertyPlaceholderConfigurer 的使用 PropertyPlaceholderConfigurer 是 ...基本使用方法 ---------- 使用 PropertyPlaceholderConfigurer 需要首先在 Spring 配置文件中定义一个 bean,例如: ```xml ...

    Spring属性占位符PropertyPlaceholderConfigurer的使用

    下面我们将详细探讨`PropertyPlaceholderConfigurer`的工作原理、使用方法以及其在实际开发中的应用。 `PropertyPlaceholderConfigurer`是Spring提供的一个Bean工厂后处理器,它的主要任务是在Spring容器初始化Bean...

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

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

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

    ### 基本使用方法 首先,来看一下如何使用`PropertyPlaceholderConfigurer`: ```xml class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer"&gt; &lt;value&gt;classpath:/spring/include/...

    c3p0用法步骤

    标题:"c3p0用法步骤" 描述:"这是我学习过程中积累的学习笔记,希望对大家有用" 标签:"c3p0" 知识点详述: C3P0是一个开源的JDBC连接池,它实现了数据源和JNDI绑定,支持JDBC连接池的特性,如:自动重连、自动...

    SpringValue注解

    本文介绍了 Spring Value 注解的使用方法和注意事项。@Value 注解是 Spring 框架中的一种重要注解,用于简化读取配置文件的操作。通过使用 @Value 注解,可以避免手动读取配置文件的复杂操作,并实现松耦合的系统...

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

    `PropertyPlaceholderConfigurer`允许自定义属性解析逻辑,比如通过实现`PropertySourcesPlaceholderConfigurer`并覆盖`resolvePlaceholder`方法。 8. **安全考虑**: 尽管使用Property Placeholder可以方便地...

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

    在Spring框架中,有多种方法可以方便地读取和使用这些Properties文件中的内容。以下是一些主要的获取Properties的方法: 1. **通过PropertyPlaceholderConfigurer加载配置** Spring提供了`...

    SSM 读取properties文件

    或者在构造函数或setter方法中使用: ```java @Component public class AppConfig { private String dbDriver; private String dbUrl; @Autowired public AppConfig(@Value("${db.driver}") String driver...

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

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

    JDBC Template源码.7z

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

    spring4.0引用properties

    接下来,为了在Spring 4.0中引用这些属性,我们需要配置一个`PropertyPlaceholderConfigurer`或使用`@ConfigurationProperties`注解。`PropertyPlaceholderConfigurer`是Spring早期版本中用于注入properties文件中值...

    Spring 容器后处理器

    ### Spring 容器后处理器详解 #### 一、Spring 容器后处理器概念及应用...此外,使用诸如`PropertyPlaceholderConfigurer`这样的后处理器还可以提高配置管理的效率,使得应用程序能够在不同的环境中更加灵活地运行。

    Spring实战之属性占位符配置器用法示例

    本文将详细介绍Spring实战之属性占位符配置器用法示例,结合实例形式分析了spring属性占位符配置器的具体配置及使用技巧。 一、配置文件配置 在Spring框架中,配置文件是应用程序的核心部分。配置文件用于存储应用...

    加载properties配置文件的几种方法

    1. **使用Spring的PropertyPlaceholderConfigurer** Spring提供了`PropertyPlaceholderConfigurer`类,可以方便地从.properties文件中读取属性。首先,在Spring的配置文件(如`applicationContext.xml`)中定义一个...

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

    2. 在自定义的`EncryptedPropertyPlaceholderConfigurer`中,你可以添加一个方法来处理加密的属性值。例如,可以使用Java Cryptography API来实现解密过程。你需要提供一个密钥或密钥存储机制,确保只有授权的维护...

    spring配置文件

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

    spring 启动时加载不同的文件

    - **实现方式**: 通过扩展`PropertyPlaceholderConfigurer`并重写其方法,根据特定条件选择加载不同的配置文件。 #### 三、案例分析与实现 **1. 配置文件设计** - **deploy.properties**: 这个文件包含了一个名为`...

    spring读取properties

    在Spring框架中,读取和使用Properties文件是一种常见的配置方式,尤其当涉及到数据库连接、环境变量等需要在运行时...掌握Spring读取Properties文件的方法,不仅能够提升开发效率,还能增强应用的灵活性和可扩展性。

    Spring配置加密方案收集.pdf

    在Spring配置中,我们可以使用`PropertyPlaceholderConfigurer`或`PropertiesFactoryBean`来加载加密后的属性文件,并在运行时调用`EncryptPropertyFile`类的解密方法,确保Spring在初始化时能够正确解析和加载加密...

Global site tag (gtag.js) - Google Analytics