Spring有一个PropertyPlaceholderConfigurer的Bean工厂后处理器,用来将部分Bean配置外部化为一个属性文件,你可以在Bean配置文件中使用${var}形式的变量,PropertyPlaceholderConfigurer将从属性文件中加载属性并且用它们替代变量。
Bean工厂后处理器与Bean后处理器之间的不同是它的目标是Ioc容器----Bena工厂或者应用上下文,而不是Bean实例,Bean工厂后处理器将在Ioc容器加载Bean配置之后,Bean实例创建之前生效,它的典型作用是在Bean实例化之前修改Bean配置,Spring有多个Bean工厂后处理可以选择。
工作原理
前面的文章中,在Bean配置文件里面为一位收银员指定了记录路径,可以将这些路径写在一个独立的属性文件中
然后在location属性中添加一个属性文件,或者在location属性中配置多个属性文件。
<beans>
<bean class=propertyPlaceholderConfigurer">
<property name="location">
<value>config.properties</value>
</property>
<bean>
<bean id="cashier1" class="...Cashier">
<property name="path" value="${cashier.path}"/>
</bean>
</beans>
然后通过<context:peropety-placeholder location="config.properties"/>引入属性文件