对于读取.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>
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对象的信息