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