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