bean生命周期
2022-12-20 20:19:15 0 举报
Spring Bean 的生命周期
作者其他创作
大纲/内容
填充属性
调用自定义初始化方法
调用BeanNameAware的setBeanName()方法
如果bean实现了DisposableBean接口, Spring将调用它的destroy()接口方法。 同样, 如果bean使用destroy-method声明了销毁方法, 该方法也会被调用。
开始
调用BeanPostProcessor的预初始化方法
如果bean实现了BeanPostProcessor接口, Spring将调用它们的postProcessBeforeInitialization()方法
调用InitializingBean的afterPropertiesSet()方法
如果bean实现了BeanFactoryAware接口,Spring将调用setBeanFactory()方法, 将BeanFactory容器实例传入
此时, bean已经准备就绪, 可以被应用程序使用了, 它们将一直驻留在应用上下文中, 直到该应用上下文被销毁
如果bean实现了InitializingBean接口, Spring将调用它们的afterPropertiesSet()方法。 类似地, 如果bean使用init-method声明了初始化方法, 该方法也会被调用
实例化
如果bean实现了BeanNameAware接口, Spring将bean的ID传递给setBeanName()方法
如果bean实现了BeanPostProcessor接口,Spring将调用它们的postProcessAfterInitialization()方法
调用ApplicationContextAware的setApplicationContext()方法
bean可以使用了
结束
调用自定义销毁方法
如果bean实现了ApplicationContextAware接口,Spring将调用setApplicationContext()方法, 将bean所在的应用上下文的引用传入进来
容器关闭
Spring将值和bean的引用注入到bean对应的属性中
调用BeanFactoryAware的setBeanFactory()方法
Spring对bean进行实例化
调用DisposedBean的destroy()方法
调用BeanPostProcessor的初始化后方法
0 条评论
下一页