Spring 的两种后处理器
来源:互联网 发布:2015年8月进出口数据 编辑:程序博客网 时间:2024/05/15 14:15
Spring 容器允许开发者使用两种后处理器扩展 IoC 容器,这两种后处理器可以后处理 IoC 容器本身,或者对容器中所有的 Bean 进行后处理。
- Spring 提供的两种常用的后处理器:
- ① Bean 后处理器
② 容器后处理器
1、Bean 后处理器
Bean 后处理器是一种特殊的 Bean ,并不对外提供服务且必须实现 BeanPostProcessor 接口。如果使用 ApplicationContext 作为 Spring 的容器,Spring 容器会自动检测容器中的所有 Bean, 如果发现某个 Bean 类实现了 BeanPostProcessor 接口, ApplicationContext 会自动将其注册为 Bean 的后处理器。在自定义 Bean 容器处理器时最好都考虑实现 Ordered 接口,这样可以通过配置 order 属性来指定 Bean 后处理器的执行顺序。
bean 后处理器:
/** * Created by Hinbo on 2016/9/7. * 简单的 Bean 后处理器 */public class MyBeanPostProcessor implements BeanPostProcessor { /** * 对容器中的 bean 实例进行后处理 * @param bean 需要进行后处理的原 Bean 实例 * @param beanName 需要进行后处理的 Bean 的配置 id * @return 返回后处理完成后的 bean * @throws BeansException */ public Object postProcessBeforeInitialization(Object bean, String beanName) throws BeansException { System.out.println("bean 后处理器在初始化之前对"+ beanName+"进行增强处理。。。"); return bean; } public Object postProcessAfterInitialization(Object bean, String beanName) throws BeansException { System.out.println("bean 后处理器在初始化之后对"+ beanName+"进行增强处理。。。"); return bean; }}
配置 Bean 的后处理器:
<!-- 配置 Bean 后处理器 --><bean class="com.sunsharing.springDemo.util.MyBeanPostProcessor"/>
容器中一旦注册了 Bean 后处理器,Bean 后处理器就会自动启动,在容器中的每个 Bean 创建时自动工作。
2、容器后处理器
Bean 后处理器负责处理容器中的所有 Bean 实例,而容器处理器负责处理容器本身。容器后处理器必须实现 BeanFactoryPostProcessor 接口。
/** * Created by Hinbo on 2016/9/7. * 容器处理器 */public class MyBeanFactoryPostProcessor implements BeanFactoryPostProcessor { /** * 对 Spring 进行后处理 * @param beanFactory Spring 容器本身 * @throws BeansException */ public void postProcessBeanFactory(ConfigurableListableBeanFactory beanFactory) throws BeansException { System.out.println("Spring 的容器后处理器:"+beanFactory); }}
配置:
<!-- 配置容器后处理器 --><bean class="com.sunsharing.springDemo.util.MyBeanFactoryPostProcessor"/>
如果需要,程序可以配置多个容器后处理器,多个容器后处理器可以设置 order 属性来控制容器后处理器的执行顺序,为了给容器后处理器指定 order 属性,则要求容器后处理器必须实现 Ordered 接口。
0 0
- Spring的两种后处理器
- Spring 的两种后处理器
- Spring-----13、两种后处理器
- Spring的后置处理器BeanFactoryPostProcessor
- Spring的容器后处理器
- spring学习之---两种后处理器
- Spring的bean后处理器和容器后处理器
- Spring的bean后处理器和容器后处理器
- Spring Security的解析处理器的载入
- Spring MVC 配置请求的默认处理器
- Spring具体事务处理器的实现
- Spring MVC 配置请求的默认处理器
- Spring自带的处理器映射
- Spring的发布处理器(BeanPostProcessor)
- spring的启动过程04.2-AnnotationAwareAspectJAutoProxyCreator处理器
- Spring提供的后容器处理器
- Spring-Bean的后置处理器TODO
- 深入剖析Spring Web源码(十一) - 处理器映射,处理器适配器以及处理器的实现 - 处理器映射的实现架构
- myeclipse8.5 maven junit报ClassNotFoundException
- 后半年的目标
- Web Material-UI 详解(一) 环境搭建与Helloword
- Java三大框架SSH面试题锦集
- html中嵌入VLC播放器
- Spring 的两种后处理器
- 【学习记录】dlopen和dlsym的使用
- 对滚动区域QScrollArea用法的摸索
- 第二周项目0-宣告“主权”
- java-jvm调优(二)
- Linux常用命令
- linux下python调试
- Android RecyclerView 使用完全解析 体验艺术般的控件
- JAVA第十一章复习