在Spring文档中提到了许多生命周期步骤:容器和bean(见下图)。但是当我开始寻找注释(要实现的接口(interface))时,我找不到任何东西,除了:
- @PostConstruct 和 @PreDestroy 回调
- 自定义 BeanPostProcessor 实现
- 自定义 BeanFactoryPostProcessor 实现
如果我正确理解这些图片,我可以使用:
BPP
通过BeanPostProcessor
的自定义实现来回调容器生命周期
。init-method
和destroy
来自bean 生命周期
的回调。
问题:
如果我只能使用容器和 bean 生命周期的 3 个回调。下面的信息有什么用? 我的意思是为什么我应该知道所有这些生命周期步骤,如果我无法从他们身上获利。 我可能忘记了一些可以使用的回调吗?
容器生命周期:
bean 生命周期:
最佳答案
我认为您错过了图中提到的所有*Aware
接口(interface)(主要来自org.springframework.beans.factory
包):
- BeanNameAware
- BeanFactoryAware
- ApplicationContextAware
- 初始化Bean
- 一次性Bean
每当您的 bean 实现这些接口(interface)之一时,Spring 就会在相应的生命周期步骤中调用它们的方法。
关于java - 我可以处理的 Spring 回调,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21164547/