spring in action
1.容器发现bean的定义,初始化bean
2.使用依赖注入的方式,spring根据bean定义,设置bean的所有属性
3.如果bean继承了BeanNameAware接口,则工厂调用setBeanName方法,把bean的Id传值过去
4.如果bean继承了BeanFactoryAware接口,则工厂调用setBeanFactroy()方法,把本身的一个实例传值过去。
5.如果bean关联了一些BeanPostProcessor,则调用这些BeanPostProcessor的postProcessBeforeInitialization()方法。
6.如果bean的init-method方法被设置,则调用bean的初始化方法
7.最后,如果bean关联了一些BeanPostProcessor,则调用这些BeanPostProcessor的postProcessAfterInitialization()方法。
补充:applicationContext中bean的生命周期
spring揭秘上的bean初始化和销毁过程
Bean 实例创建时序图(http://www.ibm.com/developerworks/cn/java/j-lo-spring-principle/index.html)
微信公众号: 架构师日常笔记 欢迎关注!