zoukankan      html  css  js  c++  java
  • Spring BeanFactoryPostProcessor

    Spring提供了一种叫做BeanFactoryPostProcessor的容器扩展机制,该机制允许我们实例化相应对象之前,对注册到容器的BeanDefinition所保存的信息做相应的修改。这就相当于在容器实现的第一阶段最后加入一道工序,让我们对最终的BeanDefinition做一些额外的操作,比如修改其中bean定义的某些属性,为bean定义增加其他信息等。

    如果要自定义实现BeanFactoryPostProcessor,通常我们需要实现org.springframework.beans.factory.config.BeanFactoryPostProcessor接口。同时因为一个容器可能拥有多个BeanFactoryPostProcessor,这个时候可能需要实现类同时实现Spring的org.springframework.core.Ordered接口。但是,因为Spring已经提供了几个现成的BeanFactoryPostProcessor实现类。所以,大多时候,我们很少自己去实现某个BeanFactoryPostProcessor。

    我们可以通过两种方式来应用BeanFactoryPostProcessor,分别针对基本的IoC容器BeanFactory和较为先进的容器ApplicationContext。

    对于BeanFactory来说,我们需要用手动方式应用所有的BeanFactoryPostProcessor。

    对于ApplicationContext来说,情况看起来要好得多。因为ApplicationContext会自动识别配置文件中的BeanFactoryPostProcessor并应用它。所以,相对于BeanFactory,在ApplicationContext中加载并应用BeanFactoryPostProcessor,仅需要在XML配置文件中将这些BeanFactoryPostProcessor简单配置一下即可。

  • 相关阅读:
    JavaEE开发中系列总结
    equals及==问题
    eclipse debug弹出窗
    MacOS Sierra 显示隐藏文件命令
    了解点Excel VBA 代码,让工作效率提升多倍~
    PADS Layout进行eco对比更新
    PCB走线规则与一些技巧介绍
    旁路电容与去耦电容的区别
    Flash download failed-Cortex-M3的原因及解决办法
    Keil U5不能识别DAP仿真器的解决办法及原因
  • 原文地址:https://www.cnblogs.com/minisculestep/p/5020266.html
Copyright © 2011-2022 走看看