微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

spring中的bean生命周期

 

1、实例化(在堆空间中申请空间,对象的属性值一般是认值。通过调用createBeanInstance()方法进行反射。先获取反射对对象class,然后获取认无参构造器,创建对象)

2、初始化(就是进行属性赋值。通过populateBean的set方法完成赋值操作)

3、检查aware相关接口并设置相关依赖?(其中aware是一个空接口,最后再invokeAwareMethods方法中首先看这个bean是否属于aware接口然后再进行向下分类是beannameaware、beanclassloaderaware还是其他的实现了aware接口的类,然后进行对应的set赋值(容器对象属性赋值))

4、beanPostProcessor(执行前置处理,beanPostProcessor是一个接口。后面还会有一个后置处理,都是做bean对象的扩展实现)

5、执行初始化方法(invokeInitMethods()进行一个判断检测bean是否实现了InitializingBean接口,如果实现了会调用afterPropertiesSet方法(可以设置属性调用方法添加自定义的处理逻辑)。)

6、后置处理(在后置处理里面,会创建一个代理对象,这个代理对象通过代理工厂的getproxy方法去创建。这个方法有两个实现cglibAopproxy、jdkdynamicAopProxy。)

7、使用bean对象、销毁bean对象

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐