六properties属性文件的使用

来源:互联网 发布:大数据分析可视化 编辑:程序博客网 时间:2024/06/15 00:23

在配置文件里配置 Bean 时, 有时需要在 Bean 的配置里混入系统部署的细节信息(例如: 文件路径, 数据源配置信息等). 而这些部署细节实际上需要和 Bean 配置相分离 。

Spring 提供了一个 PropertyPlaceholderConfigurer 的 BeanFactory 后置处理器, 这个处理器允许用户将 Bean 配置的部分内容外移到属性文件中. 可以在 Bean 配置文件里使用形式为 ${var} 的变量, PropertyPlaceholderConfigurer 从属性文件里加载属性, 并使用这些属性来替换变量.

ex:

首先导入c3p0和mysqlconnector的jar包:


新建一个配置文件:

user=rootpassword=1230driverclass=com.mysql.jdbc.Driverjdbcurl=jdbc:mysql:///test
再创建xml文件:

<?xml version="1.0" encoding="UTF-8"?><beans xmlns="http://www.springframework.org/schema/beans"       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"       xmlns:context="http://www.springframework.org/schema/context"       xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context.xsd">        <!--step1-->        <context:property-placeholder location="db.properties"/>        <!--step2-->        <bean id="datasource" class="com.mchange.v2.c3p0.ComboPooledDataSource">            <property name="user" value="${user}"></property>            <property name="password" value="${password}"></property>            <property name="driverClass" value="${driverclass}"></property>            <property name="jdbcUrl" value="${jdbcurl}"></property>        </bean></beans>

public static void main(String[] args){        ApplicationContext ctx=new ClassPathXmlApplicationContext("beans-properties.xml");        DataSource dataSource= (DataSource) ctx.getBean("datasource");        System.out.println(dataSource);    }


Spring 还允许在属性文件中使用 ${propName},以实现属性之间的相互引用。

整个项目的地址https://coding.net/u/littleWhiteJ/p/SpringStudy


0 0