Spring的生命周期分析
研究Spring的意义在于知道它的整个生命周期是怎么样一步一步从一个配置文件如何生成我们所需要的bean的。作为一个中高级开发人员,如果只懂一些基本的配置文件,那是肯定不及格的,只有知道了它的原理,在遇到问题才能找到处理方法。
基础实例
1 | public class Car implements BeanFactoryAware, BeanNameAware, InitializingBean, DisposableBean, ApplicationContextAware { |
定义了一个需要实现的bean文件,实现的接口包括:BeanFactoryAware,BeanNameAware,InitializingBean,ApplicationContextAware。
1 | public class MyBeanFactoryPostProcessor implements BeanFactoryPostProcessor { |
定义了一个工厂后置管理器,该方法在加载配置文件初始化之后修改配置文件中的数据。
1 | public class MyBeanPostProcessor implements BeanPostProcessor { |
定义了一个MyBeanPostProcessor实现了一个BeanPostProcessor接口,该接口实现了postProcessBeforeInitialization方法,postProcessAfterInitialization接口。
接着配置下xml文件:
1 | <?xml version="1.0" encoding="UTF-8"?> |
写一段测试代码来进行测试:
1 | private String beanId = "car"; |
结果输出如下:
1 | 调用BeanFactoryPostProcessor.postProcessBeanFactory() |