`
yanglei008
  • 浏览: 85077 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

BeanFactoryPostProcessor(Bean工厂后处理器)

阅读更多
在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;
}


假设您有一个类MyClass实例了BeanFactoryPostProcessor,则您可以在Bean定义档中定义它:

....
<beans>  
    <bean id="beanFactoryModifier"   
        class="onlyfun.caterpillar.SomeClass"/>
    ....
</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。
分享到:
评论

相关推荐

    spring内核详解

    Spring的IoC容器具有良好的扩展性,支持自定义的Bean后处理器(BeanPostProcessor)、Bean工厂后处理器(BeanFactoryPostProcessor)等,允许开发者在特定的生命周期阶段对Bean进行定制化处理。 六、数据访问集成 ...

    Spring Aop 源码流程.doc

    `PostProcessorRegistrationDelegate`类中的`invokeBeanFactoryPostProcessors()`方法负责执行具体的Bean工厂后处理器。接着,`invokeBeanDefinitionRegistryPostProcessors()`方法会被调用,以处理`...

    soring02.zip

    8. **容器扩展点**:Spring提供了多种扩展点,如Bean后处理器(BeanPostProcessor)、Bean工厂后处理器(BeanFactoryPostProcessor),允许开发者自定义Bean的初始化和销毁逻辑。 这个“soring02”可能包含了一个或...

    Spring源码学习四:BeanDefinition装载前奏曲1

    接下来,`obtainFreshBeanFactory()`方法创建了一个`ConfigurableListableBeanFactory`,它是Spring的Bean工厂,负责Bean的创建、管理和查找。在这个过程中,BeanDefinition的装载工作开始启动。 `...

    小读spring ioc源码(一)——整体介绍

    Spring的扩展性非常强,支持自定义Bean后处理器(BeanPostProcessor)、Bean工厂后处理器(BeanFactoryPostProcessor)等,允许开发者在特定阶段介入Bean的生命周期。 7. **上下文的层次结构** ...

    Spring IoC学习之ApplicationContext中refresh过程详解

    `invokeBeanFactoryPostProcessors(beanFactory)` 方法激活了所有的Bean工厂后处理器(`BeanFactoryPostProcessor`)。这些处理器可以修改Bean的定义,例如,它们可以在Bean定义被实例化之前修改元数据。接着,`...

    Spring 面试题学习学习

    Bean工厂处理器(BeanFactoryPostProcessor)在所有Bean实例化之前运行,可以修改Bean的定义信息。而Bean后置处理器(BeanPostProcessor)则在Bean初始化前后执行,主要用于对Bean对象进行增强,如创建代理对象。 ...

    Spring容器 .ppt

    用户可以自定义Bean后处理器(BeanPostProcessor)、Bean工厂后处理器(BeanFactoryPostProcessor)等,以实现特定的定制逻辑,比如属性注入、AOP代理等。 6. **Bean定义的继承** Spring支持Bean定义的继承,子...

    spring在@Bean注解中initMethod调用方法异步

    1. `AsyncInitBeanFactoryPostProcessor`:这是一个实现了`BeanFactoryPostProcessor`接口的类,它在Spring容器完全初始化所有bean定义之前运行。`AsyncInitBeanFactoryPostProcessor`可能用于标识那些配置了异步...

    spring的有关学习知识总结

    13. **Bean工厂后处理器**:`BeanFactoryPostProcessor`接口提供在Bean实例化之前处理Bean定义的机会,常用于处理属性文件中的占位符。 14. **属性编辑器**:Spring允许自定义属性编辑器(PropertyEditor)来进行...

    丛林探险之Spring自定义注解加载Bean

    4. **Bean工厂后置处理器**: - `StrategyBeanAnnotationBeanPostProcessor` 是关键组件,它实现了`BeanFactoryPostProcessor`和`BeanPostProcessor`接口。`BeanFactoryPostProcessor`使得我们在Bean定义加载后、...

    详解Spring中Bean的加载的方法

    如果没有,它会向上查找父Bean工厂(如果有的话)。 4. **实例化Bean**:当找到Bean定义后,Spring会根据定义实例化Bean。这可能涉及到类的加载、构造函数的选择、依赖注入等步骤。Spring支持多种实例化策略,包括...

    《精通Spring2.X企业应用开发详解》

    2. **调用工厂后处理器** - **描述**:接着,系统会查找并调用所有的`BeanFactoryPostProcessor`类型的Bean。这些后处理器的作用是在Bean的定义被解析之后、实际Bean实例化之前,对Bean定义进行进一步的处理或修改...

    spring原理1

    总的来说,`refresh()`方法的执行过程涵盖了Spring容器初始化的核心步骤,包括bean定义的加载、bean工厂的配置以及bean后处理器的调用。这一系列操作确保了Spring容器能够正确地管理bean,并在应用程序启动时完成...

    如何在Spring中使用编码方式动态配置Bean详解

    为了保证注入的 Bean 也能被 AOP 增强,我们需要实现 Bean 的工厂后置处理器接口 BeanFactoryPostProcessor。 接下来,我们可以通过实现 BeanFactoryPostProcessor 接口来动态注入 Bean。例如,我们可以创建一个 ...

    Spring_IOC_.rar_spring ioc

    4. **Bean的生命周期**:涵盖了Bean的初始化、实例化、属性设置、后处理器调用、销毁等阶段,以及如何自定义生命周期回调方法。 5. **AOP(面向切面编程)**:作为IOC的补充,AOP允许我们在不修改源代码的情况下,...

    java知识1点的总结

    3. `prepareBeanFactory()`方法配置了Bean工厂的基本属性,如类加载器和事件处理器。 4. `postProcessBeanFactory()`允许子类添加特定的BeanPostProcessor,这些处理器会在Bean实例化前后执行自定义逻辑。 5. `...

    spring源码学习

    - **Spring的解析过程**:Spring利用了强大的类路径扫描工具,结合注解处理器来解析注解,并将相关信息存储到BeanDefinition中。 - **MetadataReader读取信息后的处理**:`MetadataReader`读取到类信息、注解信息...

    java自我总结面试大全.docx

    - 后处理器:BeanPostProcessor和BeanFactoryPostProcessor用于在初始化前后执行自定义逻辑。 - 销毁:当Bean不再需要时,执行destroy-method指定的方法或依赖于容器的销毁逻辑。 这份面试总结详尽地阐述了Spring...

    Spring 设计模式总结1

    1. **简单工厂**:Spring中的`BeanFactory`体现了简单工厂模式,它根据传入的唯一标识创建Bean对象。`BeanFactory`在启动时读取配置,将Bean定义转换为`BeanDefinition`对象并注册到容器中。通过`...

Global site tag (gtag.js) - Google Analytics