我开始知道IOC容器负责创建bean,注入依赖项和生命周期管理。那么,IOC容器的内部实现是什么?在创建bean之后和销毁之前会发生什么过程?
答案 0 :(得分:6)
如果bean实现了BeanFactoryAware,则Spring会调用 setBeanFactory()方法,传入bean工厂本身。
如果bean实现ApplicationContextAware,则Spring调用set- ApplicationContext()方法,传入对封闭的引用 应用程序上下文。
如果bean实现了BeanPostProcessor 接口,Spring调用它的后ProcessBeforeInitialization() 方法
如果bean实现了InitializingBean接口, Spring调用它的after- PropertiesSet()方法。同样,如果 bean是用initmethod声明的,然后是指定的 初始化方法被调用。
如果bean实现了 BeanPostProcessor,Spring调用它的postProcess- AfterInitialization()方法。
此时,bean已准备就绪 由应用程序使用并保留在应用程序上下文中 直到应用程序上下文被销毁。
如果豆 实现DisposableBean接口,Spring调用它的destroy() 方法。同样,如果使用destroy-method声明bean, 调用指定的方法。