面试:描述下bean的生命周期

张开发
2026/4/3 10:23:01 15 分钟阅读
面试:描述下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方法

更多文章