admin 发表于 2013-8-30 17:31:47

Spring Gossip: BeanFactoryPostProcessor

在BeanFactory加载Bean定义档的所有内容,但还没正式产生Bean实例之前,您可以对该BeanFactory进行一些处理,您只要实作 org.springframework.beans.factory.config.BeanFactoryPostProcessor:
package org.springframework.beans.factory.config;public interface BeanFactoryPostProcessor {        public void postProcessBeanFactory(ConfigurableListableBeanFactory beanFactory) throws BeansException;}假设您有一个SomClass实作了BeanFactoryPostProcessor,则您可以在Bean定义档中定义它:
....<beans>        <bean id="beanFactoryModifier" class="onlyfun.caterpillar.SomeClass"/>        <bean id="helloBean" class="onlyfun.caterpillar.HelloBean">                ....        </beans>使用ApplicationContext时,若Bean定义档中有定义实作BeanFactoryPostProcessor的类别,则ApplicationContext会自动应用。

在Spring中有几个BeanFactoryPostProcessor的实作实例,像是org.springframework.beans.factory.config.PropertyPlaceholderConfigurer、 org.springframework.beans.factory.config.PropertyOverrideConfigurer、org.springframework.beans.factory.config.CustomEditorConfigurer。
页: [1]
查看完整版本: Spring Gossip: BeanFactoryPostProcessor