zoukankan      html  css  js  c++  java
  • Spring中Bean生命周期

    Spring中的bean生命周期是一个重要的点,只有理解Bean的生命周期,在开发中会对你理解代码是非常有用的。对于Bean的周期,个人认为可以分为四个阶段。第一阶段:Bean的实例化,在该阶段主要是Bean的实例化。第二阶段是Bean的初始化,包括初始化方法和属性的填充。第三阶段是Bean的使用。第四阶段是Bean的销毁,该阶段是调用destroy方法等。如图(摘自网路)所示:

    Spring首先会调用BeanFactoryPostProcessor的postProcessBeanFactory方法,后初始化Bean(是通过反射机制调用其构造方法),有了对象后,开始属性的注入,注入属性之后,如果你这个Bean实现了Spring中相关的XXXaware接口,比如说:BeanNameAware,BeanFactoryAware,ApplicationContextAware来获取相关的对象,这一阶段是在Bean的实例化中操作的。

    接下来,进入Bean的初始化阶段,首先会调用BeanPostProcess的前置处理(预初始化方法),后在调用初始化方法即InitlalizingBean的afterPropertiesSet方法,完成之后,调用自定义的init-method指定方法,最后调用BeanPostProcess的后置处理(与初始化后的方法)。

    Bean的使用:其实是业务逻辑操作Bean的过程。

    最后是Bean的销毁:该阶段销毁有两次销毁。一次是DisposableBean的Destroy的方法,后才调用destroy-method指定的方法。

    对于以上简单介绍Bean整个生命周期,这里描述不像别人的描述的很多很杂,希望读者通过这个简单的描述对spring的Bean的生命周期有一个大概的思路,至于每个阶段每个步骤是怎么完成的,其实是一件很复杂很繁琐的过程。这里不再叙述。 

  • 相关阅读:
    Mac014--Sourcetree安装(Git client)
    SSM003/构建Maven单模块项目(二)
    Git016--Work
    Mac013--Docker安装
    前端002/常用标签属性(工作应用)
    Python 38 初识数据库
    Python 38 sql基础
    Python 39 数据库的数据类型
    Python 39 数据库
    Python 37 进程池与线程池 、 协程
  • 原文地址:https://www.cnblogs.com/lichangyun/p/10720207.html
Copyright © 2011-2022 走看看