面试:描述下bean的生命周期
1.实例化bean反射的方式生成对象2.填充bean的属性populateBean()循环依赖的问题三级缓存3.调用aware接口相关的方法InvokeAwareMethod完成BeanNameBeanFactoryBeanClassLoader对象的属性设置4.调用BeanPostProcessor中的前置处理方法使用比较多的有ApplicationContextPostProcessor设置ApplicationContextEnvironmentResourceLoaderEmbeddValueResolver等对象5.调用initmethod方法InvokeInitmethod()判断是否实现了InitializingBean接口如果有调用afterPropertiesSet方法没有就不调用6.调用BeanPostProcessor的后置处理方法spring的app就是在此处实现的AbstractAutoProxyCreator注册Destuction相关的回调接口钩子函数7.获取到完整的对象可以通过getBean的方式来进行对象的获取8.销毁流程1判断是否实现了DispoadbleBean接口2调用destroyMethod方法
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2478516.html
如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!