【高频面试题】 BeanPostProcessor
915
等5人参与

题目描述:结算微服务里,我使用到了 BeanPostProcessor,还有一个与之相似的接口 BeanFactoryPostProcessor,你能说出它们的区别吗?另外,能举例说明它们的使用场景吗?(这也是高频的面试题)

老师提示:BeanFactoryPostProcessor 是在 Spring 容器加载了定义 Bean 的 XML 文件之后,在 Bean 实例化之前执行的。接口方法的入参是 ConfigurrableListableBeanFactory 类型,使用该参数可以获取到相关的 Bean 的定义信息。BeanPostProcessor 是在 Spring 容器加载了 Bean 的定义文件并且实例化 Bean 之后执行的。BeanPostProcessor 的执行顺序是在 BeanFactoryPostProcessor 之后。假如我们需要定义两个 Bean 初始化的依赖关系,就可以使用 BeanFactoryPostProcessor 来实现,因为此时 Bean 还没有完成实例化;当我们需要获取一类 Bean 时,可以使用 BeanPostProcessor 来实现,就像结算服务中获取各个结算工具一样。

我的作业
去发布

登录后即可发布作业,立即

全部作业

数据加载中...

意见反馈 帮助中心 APP下载
官方微信