使用PropertyPlaceholderConfigurer读取.properties文件(1)

对于读取.properties文件,平时都是使用<util:properties/>,如下:

<util:properties id="mysqlConnection" location="classpath:db.properties" />

<bean id="dbcp" class="org.apache.commons.dbcp.BasicDataSource">
	<property name="username" value="#{mysqlConnection.user}" ></property>
	<property name="password" value="#{mysqlConnection.password}" ></property>
	<property name="driverClassName" value="#{mysqlConnection.driver}" ></property>
	<property name="url" value="#{mysqlConnection.url}" ></property>
</bean>


但这种方法有一定的局限性,下面我们就用PropertyPlaceholderConfigurer类来实现,做一个简单的例子:

java bean

package org.demo.model;

public class EmpModel {
	private String name;
	private int age;
	private char gender;
	
	...set/get/toString

}


src下创建一个 emp.properties

emp.name=wang
emp.age=12
emp.gender=f
在applicationContext.xml文件中添加

<!-- 读取数据库配置信息.properties,使用spring提供的PropertyPlaceholderConfigurer -->
<bean id="propertyConfigurer" class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">
	<property name="locations">
		<list>
			<value>classpath:emp.properties</value>
		</list>
	</property>
</bean>
<bean id="empModel" class="org.demo.model.EmpModel">
<span style="white-space:pre">	</span><property name="name"><value>${emp.name}</value></property>
<span style="white-space:pre">	</span><property name="age"><value>${emp.age}</value></property>
<span style="white-space:pre">	</span><property name="gender"><value>${emp.gender}</value></property>
</bean>

写测试类:

public class GetBeanTest {
	private static final Logger logger = Logger.getLogger(GetBeanTest.class);
	ApplicationContext ac;
	
	@Before
	public void init() {
		ac = new ClassPathXmlApplicationContext("applicationContext.xml");
	}
	
	@Test
	public void getEmpModelBean(){
		EmpModel emp = ac.getBean("empModel",EmpModel.class);
		logger.info(emp);	
	}


}

成功可以输出EmpModel对象的信息


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值