运行这句context.registerBean(AutowiredAnnotationBeanPostProcessor.class)之后,还需要通过beanFactory.addBeanPostProcessor(beanPostProcessor)添加AutowireAnnotationBeanPostProcessor后处理器吗?
时间: 2024-02-05 16:02:51 浏览: 57
不需要了。因为 `context.registerBean(AutowiredAnnotationBeanPostProcessor.class)` 方法已经将 `AutowiredAnnotationBeanPostProcessor` 实例注册到了 Spring 应用上下文中,Spring 在初始化 BeanFactory 的过程中会自动将注册的 BeanPostProcessor 实例添加到 BeanFactory 中。
实际上,`AutowiredAnnotationBeanPostProcessor` 是一个内置的后处理器,它会在 BeanFactory 初始化的时候自动被注册到 BeanFactory 中。而通过 `context.registerBean(AutowiredAnnotationBeanPostProcessor.class)` 方法注册的 `AutowiredAnnotationBeanPostProcessor` 实例,只是为了手动地控制其创建时机或者进行一些个性化的配置,比如设置一些属性等。
因此,在使用 `context.registerBean(AutowiredAnnotationBeanPostProcessor.class)` 方法注册 `AutowiredAnnotationBeanPostProcessor` 实例之后,不需要再手动调用 `beanFactory.addBeanPostProcessor(beanPostProcessor)` 方法添加 `AutowiredAnnotationBeanPostProcessor` 后处理器了。
阅读全文