后置处理器概述

--后置处理器在spring中的作用:

  后置处理器在bean初始化和实例化的过程中起着举足轻重的作用,处理某些注解、设置某些bean参数、生成某些动态代理等等

--常用的后置处理器(BeanPostProcessor)

1、 ApplicationContextAwareProcessor
  作用:让实现ApplicationContextAware的bean得到applicationContext(容器上下文)
  (EnvironmentAware,EmbeddedValueResolverAware,ResourceLoaderAware,ApplicationEventPublisherAware,MessageSourceAware,ApplicationContextAware
  实现这些接口的bean都是这个后置处理器处理)
2、 InitDestroyAnnotationBeanPostProcessor
3、 InstantiationAwareBeanPostProcessor(接口)
4、 CommonAnnotationBeanPostProcessor
  CommonAnnotationBeanPostProcessor执行@Resource等注解的注入,
5、 AutowiredAnnotationBeanPostProcessor
  AutowiredAnnotationBeanPostProcessor执行@Autowired注解注入
6、 RequiredAnnotationBeanPostProcessor
  RequiredAnnotationBeanPostProcessor执行@ Required注解
7、 BeanValidationPostProcessor
8、 AbstractAutoProxyCreator


-----实例化和初始化的区别
1、实例化----实例化的过程是一个创建Bean的过程,即调用Bean的构造函数,单例的Bean放入单例池中

2、初始化----初始化的过程是一个赋值的过程,即调用Bean的setter,设置Bean的属性

之前的BeanPostProcessor作用于过程(2)前后,现在的InstantiationAwareBeanPostProcessor则作用于过程(1)前后;

猜你喜欢

转载自www.cnblogs.com/windy13/p/11986283.html