面试专题:描述一下Spring Bean的生命周期

Spring Bean的生命周期是Spring中面试频率相当高的面试题,如果了解bean的生命周期对于Spring的扩展和运行流程可以掌握的很好,这个问题主要考察开发人员对执行的流程和以及有哪些扩展点,对我们写代码也会有很多帮助。个人整理归纳答案如下

  1. 解析类得到BeanDefintion
  2. 如果有当前类有多个构造方法,则要推断构造方法
  3. 确定好构造方法后,进行实例化得到一个对象
  4. 对对象中的加了@Autowired (@Inject @Resource等)注解的属性进行属性填充
  5. 回调Aware方法,比如BeanNameAware,BeanFactoryAware
  6. 调用BeanPostProcessor 的初始化前方法
  7. 调用初始化方法(实现了InitializingBean接口)
  8. 调用BeanPostProcessor 的初始化后的方法,在这里会进行AOP
  9. 如果当前创建的bean是单例的,则会把bean放入单例池
  10. 使用bean
  11. Spring容器关闭时调用destory() 方法(实现了DisposableBean)

后续完善代码和流程图。。。

猜你喜欢

转载自blog.csdn.net/lxn1023143182/article/details/114188088