###BeanFactory中Bean生命周期
###ApplicationContext中Bean生命周期
###Bean的生命周期总结 Bean的完整生命周期从spring容器开始实例化bean开始到销毁,可以从三点来理解
-
Bean自身的方法:包括构造方法、set方法、init-method指定的方法、destroy-method 指定的方法
-
Bean级生命周期接口方法:如 BeanNameAware 、 BeanFactoryAware 等这些接口方法由 Bean类实现。
-
容器级生命周期接口方法:有InstantiationAwareBeanPostProcessor、 BeanPostProcessor等。一般称为后处理 器。他们一般不由Bean本身实现,独立存在,注册到 Spring容器中。Spring通过接口反射预先知道,当Spring容器创建任何 bean 时,这些后处理器都会发生作用。所以他们是全局的,用户可以通过编码对只感兴趣的Bean 进行处理。
###Bean的生命周期探究BeanFactory和ApplicationContext区别
-
ApplicationContext利用反射机制自动识别配置文件中定义的后置处理器(BeanFactoryPostProcessor、InstantiationAwareBeanPostProcessor和BeanPostProcessor),并且自动注册到应用的上下文中,而BeanFactory需要在代码中手动调用addBeanPostPorcessor()方法注册。
-
ApplicationContext容器启动时加载配置