spring bean的生命周期:创建对象、初始化、使用、销毁
1、通过注解或者XML读取bean对象的bean Definition
2、修改bean对象配置信息,比如数据库连接池占位符符配置信息,关系接口beanFactory -》beanFactoryPostProcessor -》Placeholder ConfiguretionSuport (beanfactoryRegisterpost Processor)
3、通过beanDefinition创建实例对象,Java反射,createnewInstece
4、初始化对象,自定义属性在population方法中通过对象的set方法
5、通过Aware接口初始化容器变量 ApplicationContextAware EnvironmentAware,通过接口实现,在invokeAwaremethod方法统一处理
6、spring bean通过AOP扩展增强,beanpost processor前置和后置处理postprocessorbeforeinitial和postprocessorafter initial JDK动态代理,CGLib补全没有实现接口
7、配置init-method 方法检测bean是否实现Initializitizingbean接口调用afterPropertisSet()
8、放入bean放入spring容器中通过applicationContext.getbean 调用使用
9.通过context.close关闭