004-spring的bean生命周期总结

2018-11-16  本文已影响0人  hangjun

总结

第一大步:

0.class.forName得到class

第二大步:

1.实例化之前 调用InstantiationAwareBeanPostProcessor.processBeforeXX(),processAfterXX()的方法
2.实例化,调用构造方法 obj.newInstance()

第三大步:

3.初始化-依赖注入之前调用InstantiationAwareBeanPostProcessor的方法得到field的值
4.初始化-依赖注入 applyPropertyValues();

第四大步:

5.初始化-init()和afterPropertiesSet()方法之前 调用beanPostFactory.processBeforeXX()
6.初始化-init()和afterPropertiesSet()
7.初始化-init()和afterPropertiesSet()方法之前 调用beanPostFactory.processAfterXX()

应用场景举例

在7.的应用场景:
如果配置aop生成代理对象的类:DefaultAdvisorAutoProxyCreator,这个类会使用pointcut的方式是aspectJ。这个类就是实现BeanPostProcessor。
那么生成代理最终的对象就是(通过这个类)在这一步生成的

上一篇 下一篇

猜你喜欢

热点阅读