Ioc容器
Spring IoC容器的本质目的是管理Bean,对于Bean而言在容器中存在其生命周期(Bean的初始化到销毁的过程)
IOC容器初始化和销毁Bean过程
(1)初始化
(2)依赖注入
(3)若Bean实现了BeanNameAware接口,则调用setBeanName方法
(4)若Bean实现了BeanFactoryAware接口,则调用setBeanFactory方法
(5)若Bean实现了ApplicationContextAware接口,则调用setApplicationContext()方法
(6)若Bean实现了BeanPostProcessor接口,则调用postProcessorBeforeInitialization()方法
(7)若Bean实现了BeanFactoryPostProcessor接口,则调用afterPropertiesSet方法
(8)若Bean自定义了初始化方法,则调用自定义的初始化方法
当服务器正常关闭或遇到其他关闭IOC容器的事件,就调用对应的方法完成Bean的销毁
(9)若Bean实现了接口DisposableBean接口,则调用该接口的destroy方法完成销毁
(10)若Bean自定义了销毁方法,则调用它
值得注意的是;只有实现了对应的接口;bean才会使用对应的方法;最基础的生命周期就是:
初始化------>依赖注入------->关闭Ioc容器------>销毁