![从企业级开发到云原生微服务:Spring Boot实战](https://wfqqreader-1252317822.image.myqcloud.com/cover/257/33831257/b_33831257.jpg)
上QQ阅读APP看本书,新人免费读10天
设备和账号都新为新人
3.3 对Bean的处理(BeanPostProcessor)
可以通过实现BeanPostProcessor接口,在构造时对容器内所有或者部分指定Bean进行处理。和@PostConstruct与@PreDestroy不同的是,它针对的是IoC容器里的所有的Bean。
![](https://epubservercos.yuewen.com/E5E2EB/18096059808236406/epubprivate/OEBPS/Images/37792_68_01.jpg?sign=1739690827-lerrKRFdcLK3Xb8nzf0JBbPxHE6enI5I-0-b1399237d8cd7da80dbf9792eda57c5e)
通过覆写postProcessBeforeInitialization和postProcessAfterInitialization方法,所有的Bean在初始化之前都会执行 postProcessBeforeInitialization里的处理逻辑,在初始化之后都会执行postProcessAfterInitialization里的处理逻辑。执行结果如图3-14所示。
![](https://epubservercos.yuewen.com/E5E2EB/18096059808236406/epubprivate/OEBPS/Images/37792_68_02.jpg?sign=1739690827-2f43t1v8g8ndCXVDknh9Yo7A0VMR0Bky-0-4b8a23ff083e4aae2babaf37a0242dc9)
图3-14
如果想要缩小Processor的处理范围,则可以通过判断Bean类型来实现。
![](https://epubservercos.yuewen.com/E5E2EB/18096059808236406/epubprivate/OEBPS/Images/37792_69_01.jpg?sign=1739690827-iL7RJoQRnZh9IM08eJwUd7ayvp7OGzyr-0-5259e07b0559dad292ef2b2fc8963bb7)