读书人

Spring PropertyPlaceholderConfigure

发布时间: 2013-07-08 14:13:00 作者: rapoo

Spring PropertyPlaceholderConfigurer类
它的作用是一个资源属性的配置器,能够将BeanFactory的里定义的内容放在一个以.propertis后缀的文件中.

要了解这个类首先要弄清楚一个概念:bean factory post-processor
官方解释是这样的:
A bean factory post-processor is a java class which implements the
org.springframework.beans.factory.config.BeanFactoryPostProcessor interface. It is executed manually (in the case of the BeanFactory) or automatically (in the case of the ApplicationContext) to apply changes of some sort to an entire BeanFactory, after it has been constructed.
1.首先bean factory post-processor实现了org.springframework.beans.factory.config.BeanFactoryPostProcessor接口。
2.在BeanFactory的情况下它被手动的执行。
3.在ApplicationContext的条件下它会自动的执行。
4.最关键的一点是,是在一个类的实例被构造出来之后,对整个BeanFactory进行修改。

----------------------------------Spring的框架中为您提供了一个 BeanFactoryPostProcessor 的实作类别: org.springframework.beans.factory.config.PropertyPlaceholderConfigurer。藉由这个类别,您可以将一些组态设定,移出至.properties档案中,如此的安排可以让XML定义档负责系统相关设定,而.properties档可以作为客户根据需求,自定义一些相关的参数。
来看一个Bean定义档的实际例子:

?beans-config.xml

<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE beans PUBLIC "-//SPRING/DTD BEAN/EN"       "http://www.springframework.org/dtd/spring-beans.dtd"> <beans>          <bean id="configBean"  name="code"><?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE beans PUBLIC "-//SPRING/DTD BEAN/EN"       "http://www.springframework.org/dtd/spring-beans.dtd"> <beans>          <bean id="configBean"       name="code"> <bean id="propertyConfigurer"     name="code"><context-param><param-name>contextConfigLocation</param-name><param-value>/WEB-INF/spring-context.xml</param-value></context-param>当然,不要忘了spring的监听器注册<listener><listener-class>org.springframework.web.context.ContextLoaderListener</listener-class></listener>

这样,一个简单的数据源就设置完毕了。
实际上,PropertyPlaceholderConfigurer起的作用就是将占位符指向的数据库配置信息放在bean中定义
的工具。


读书人网 >编程

热点推荐