Spring配置文件中注入环境变量或其他配置文件变量

在spring的xml配置文件中,注入其他的配置文件变量,如

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

<bean id="dataSource" class="org.springframework.jdbc.datasource.DriverManagerDataSource">
<property name="driverClassName"><value>${jdbc.driver}</value></property>
<property name="url"><value>${jdbc.url}</value></property>
<property name="username"><value>${jdbc.user}</value></property>
<property name="password"><value>${jdbc.password}</value></property>
</bean>

这些jdbc的配置信息则来自于另一配置文件project.properties.

# DB Information
jdbc.driver=org.hsqldb.jdbcDriver
jdbc.url=jdbc:hsqldb:db/myDB
jdbc.user=admin
jdbc.password=asdf

 

在spring的配置中我们发现多了一个bean, PropertyPlaceholderConfigurer, 这个类便是扫描指定location下的配置文件。

但在这种情况下,实例化spring的bean不能用BeanFactory, 而是要用ApplicationContext, 否则PropertyPlaceholderConfigurer不工作。

(文/yegaofei)

本文来源:http://blog.csdn.net/yegaofei/article/details/5599884#


如果给你带来帮助,欢迎微信或支付宝扫一扫,赞一下。