![从企业级开发到云原生微服务: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=1738887721-Zome8sjY5OZVj59bhYVFVp6ufhrlJNej-0-d6d80a6e1f793f924f52f46ac1e3e03d)
通过覆写postProcessBeforeInitialization和postProcessAfterInitialization方法,所有的Bean在初始化之前都会执行 postProcessBeforeInitialization里的处理逻辑,在初始化之后都会执行postProcessAfterInitialization里的处理逻辑。执行结果如图3-14所示。
![](https://epubservercos.yuewen.com/E5E2EB/18096059808236406/epubprivate/OEBPS/Images/37792_68_02.jpg?sign=1738887721-0gm7NavQn0CD775t1By0xnt3BXtbxggg-0-282395bc7900fa0f56f7436821c680f8)
图3-14
如果想要缩小Processor的处理范围,则可以通过判断Bean类型来实现。
![](https://epubservercos.yuewen.com/E5E2EB/18096059808236406/epubprivate/OEBPS/Images/37792_69_01.jpg?sign=1738887721-lGgyAgZo5Ukcy9X4lR01kmAtOlviQm70-0-19dd6354ac3f2e50f5118d68b9848050)