Spring的PropertyPlaceholderConfigurer

Posted Super丶丨蔚

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Spring的PropertyPlaceholderConfigurer相关的知识,希望对你有一定的参考价值。

自己的总结

    在项目中,为了对系统的配置信息进行统一管理,一般是将配置信息写在xxx.properties的文件中,在系统初始化的时候,自动读取该配置文件中的键值信息,实现资源配置的初始化

    1.PropertyPlaceholderConfigurer是个bean工厂后置处理器的实现,也就是 BeanFactoryPostProcessor接口的一个实现

    2.PropertyPlaceholderConfigurer起的作用就是将xxx.properties中定义的属性和值,在javalei或xml中通过占位符的形式获取xxx.properties中定义的属性值

具体用法

1.例如xxx.properties配置中的信息如下:

#数据库数据库相关
druid.driverClassName=com.mysql.jdbc.Driver

druid.url=jdbc\:mysql\://localhost\:3209/demo?useUnicode\=true&characterEncoding\=utf-8&generateSimpleParameterMetadata\=true

druid.username=root
druid.password=demo123

 

2.PropertyPlaceholderConfigurer在Spring.xml中的配置方法

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


3.应用

(1)在spring.xml中数据库连接池的配置中的使用

<bean id="dataSource" class="com.alibaba.druid.pool.DruidDataSource" destroy-method="close" lazy-init="false">
    <property name="url" value="${druid.url}" />
    <property name="username" value="${druid.username}" />
    <property name="password" value="${druid.password}" />
    <property name="driverClassName" value="${druid.driverClassName}" />
    <property name="minIdle" value="${druid.minIdle}" />
    <property name="initialSize" value="${druid.initialSize}" />
    <property name="maxWait" value="${druid.maxWait}" />
    <property name="maxActive" value="${druid.maxActive}" />
    <property name="testWhileIdle" value="${druid.testWhileIdle}" />
    <property name="validationQuery" value="${druid.validationQuery}" />
    <property name="filters" value="${druid.filters}" />
</bean>


(2)在java类中的使用

public class DatasourceUtil {
    @Value("${druid.driverClassName}")
    private String className;

    @Value("${druid.url}")
    private String url;

    @Value("${druid.username}")
    private String username;

    @Value("${druid.password}")
    private String password;

    public JdbcTemplate getJdbcTemplate() {
        DriverManagerDataSource ds = new DriverManagerDataSource(url, username, password);
        ds.setDriverClassName(className);
        JdbcTemplate jdbcTemplate = new JdbcTemplate(ds);
        return jdbcTemplate;
    }

}

 

以上是关于Spring的PropertyPlaceholderConfigurer的主要内容,如果未能解决你的问题,请参考以下文章

学习笔记——Spring简介;Spring搭建步骤;Spring的特性;Spring中getBean三种方式;Spring中的标签

Spring全家桶笔记:Spring+Spring Boot+Spring Cloud+Spring MVC

Spring--Spring入门

Spring:Spring介绍

Spring浅析Spring框架的搭建

Spring DAO vs Spring ORM vs Spring JDBC