Spring中Bean的生命周期

  1. 实例化
    通过发射实现:Constructor ctor = clazz.getDeclareConstructor();
    Object obj = ctor.newInstance();
  2. 填充属性(populateBean();)
  3. 执行aware接口中需要实现的方法(aware接口存在的意义是:为了通过Spring中的Bean对象来获取对应容器中的相关属性,如beanName)
  4. BeanPostProcessor:before();
  5. init-method();
  6. BeanPostProcessor:before();
  7. 得到完整对象
  8. 进行销毁

详细查看Spring源码中:BeanFactory接口及注释,部分如下

`

Bean factory implementations should support the standard bean lifecycle interfaces

  • as far as possible. The full set of initialization methods and their standard order is:
    1. BeanNameAware's {@code setBeanName}
    2. BeanClassLoaderAware's {@code setBeanClassLoader}
    3. BeanFactoryAware's {@code setBeanFactory}
    4. EnvironmentAware's {@code setEnvironment}
    5. EmbeddedValueResolverAware's {@code setEmbeddedValueResolver}
    6. ResourceLoaderAware's {@code setResourceLoader}
    7. (only applicable when running in an application context)
    8. ApplicationEventPublisherAware's {@code setApplicationEventPublisher}
    9. (only applicable when running in an application context)
    10. MessageSourceAware's {@code setMessageSource}
    11. (only applicable when running in an application context)
    12. ApplicationContextAware's {@code setApplicationContext}
    13. (only applicable when running in an application context)
    14. ServletContextAware's {@code setServletContext}
    15. (only applicable when running in a web application context)
    16. {@code postProcessBeforeInitialization} methods of BeanPostProcessors
    17. InitializingBean's {@code afterPropertiesSet}
    18. a custom init-method definition
    19. {@code postProcessAfterInitialization} methods of BeanPostProcessors
    20. On shutdown of a bean factory, the following lifecycle methods apply:

      1. {@code postProcessBeforeDestruction} methods of DestructionAwareBeanPostProcessors
      2. DisposableBean's {@code destroy}
      3. a custom destroy-method definition
      4. 该接口部分源码注释。
      • 1
        点赞
      • 0
        收藏
        觉得还不错? 一键收藏
      • 0
        评论
      评论
      添加红包

      请填写红包祝福语或标题

      红包个数最小为10个

      红包金额最低5元

      当前余额3.43前往充值 >
      需支付:10.00
      成就一亿技术人!
      领取后你会自动成为博主和红包主的粉丝 规则
      hope_wisdom
      发出的红包
      实付
      使用余额支付
      点击重新获取
      扫码支付
      钱包余额 0

      抵扣说明:

      1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
      2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

      余额充值