使用外部属性
- 在配置文件里配置Bean时,有时需要在Bean的配置里混入系统部署的细节信息(例如:文件路径,数据源配置信息等)。而这些部署细节实际上需要和Bean部署相分离
- Spring提供一个PropertyPlaceholderConfigurer的BeanFactory后置处理器,这个处理器允许用户将Bean配置的部分内容外移到属性文件中,可以在Bean配置文件里使用形式为${var}的变量,PropertyPlaceholderConfigurer从属性文件里加载属性,并使用这些属性来替换变量。
- Spring还允许在属性文件中使用${propName},以实现属性之间的相互引用。
注册PropertyPlaceholderConfigurer
spring2.0:
1
2
3<bean class = "org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">
<property name = "Location" value = "classpath:jdbc.properties"></property>
</bean>Spring2.5之后:可通过<context:property-placeholder>元素简化:
- <beans>中添加context Schema定义
- 在配置文件中加入如下配置:
1
<context:property-placeholder location= "classpath:db.properties"/>
db.properties
1 | user=root |
bean.xml
1 | <!-- 导入属性文件 --> |
输出结果:连接成功