Spring容器启动 Bean生命周期
容器启动:
1.创建 ApplicationContext
2.加载 Bean 定义(读取配置文件.java类)
3.创建 BeanDefinition
4.实例化->属性填充->初始化(Bean的生命周期)
Bean的生命周期
实例化 Bean(调用构造方法)
依赖注入(填充属性)
执行 Aware 接口方法
BeanNameAware#setBeanName()BeanClassLoaderAware#setBeanClassLoader()BeanFactoryAware#setBeanFactory()
执行 BeanPostProcessor#postProcessBeforeInitialization()
执行 @PostConstruct 标注的方法
执行 InitializingBean#afterPropertiesSet()
执行 init-method(XML 或 @Bean(initMethod = "xxx") 配置)
执行 BeanPostProcessor#postProcessAfterInitialization()
Bean 进入就绪状态,可供使用
destory