- Spring 容器根据实例化策略对 Bean 进行实例化。
- 实例化完成后,如果该 bean 设置了一些属性的话,则利用 set 方法设置一些属性。
- 如果该 Bean 实现了 BeanNameAware 接口,则调用 setBeanName() 方法。
- 如果该 bean 实现了 BeanClassLoaderAware 接口,则调用 setBeanClassLoader() 方法。
- 如果该 bean 实现了 BeanFactoryAware接口,则调用 setBeanFactory() 方法。
- 如果该容器注册了 BeanPostProcessor,则会调用postProcessBeforeInitialization() 方法完成 bean 前置处理
- 如果该 bean 实现了 InitializingBean 接口,则调用 。afterPropertiesSet() 方法。
- 如果该 bean 配置了 init-method 方法,则调用 init-method 指定的方法。
- 初始化完成后,如果该容器注册了 BeanPostProcessor 则会调用 postProcessAfterInitialization() 方法完成 bean 的后置处理。
- 对象完成初始化,开始方法调用。
- 在容器进行关闭之前,如果该 bean 实现了 DisposableBean 接口,则调用 destroy() 方法。
- 在容器进行关闭之前,如果该 bean 配置了 destroy-mehod,则调用其指定的方法。
- 到这里一个 bean 也就完成了它的一生。
IOC-Bean
©著作权归作者所有,转载或内容合作请联系作者
- 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
- 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
- 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
推荐阅读更多精彩内容
- 在分析 Spring Bean 实例化过程中提到 Spring 并不是一启动容器就开启 bean 的实例化进程,只...