
-
aware
, 翻译过来是知道的,已感知的,意识到的,所以这些接口从字面意思应该是能感知到所有Aware前面的含义 - 先举个BeanNameAware的例子,实现BeanNameAware接口,可以让该Bean感知到自身的BeanName(对应Spring容器的BeanId属性)属性,内部方法是setBeanName(String name);就是bean id
生命周期有一点需要先明确:
Spring 只帮我们 管理 单例模式 Bean的完整生命周期 ,对于 prototype 的 bean ,Spring 在创建好交给使用者之后则不会再管理后续的生命周期
bean对象
- 实例化
- 填充属性
- 填充spring的id,beanFactory,applicationContext等spring内部信息
- 调用预初始化,调用自定义初始化 BeanPsotProcessor
- 调用初始化后续
- bean初始化完成
- 调用destroy
applicationContext会在初始化时自动识别和注册BeanPsotProcessor
beanFactory需要显示的注册,通过ConfigurableBeanFactory
网友评论