博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Spring Bean 生命周期流程
阅读量:3737 次
发布时间:2019-05-22

本文共 840 字,大约阅读时间需要 2 分钟。

总结下 Spring Bean 生命周期流程,大概是这样的:

  • Bean 容器找到配置文件中 Spring Bean 的定义。
  • Bean 容器利用 Java Reflection API 创建 Bean 的实例。
  • 如果涉及到属性值,就利用 set 方法进行设置。
  • 如果 Bean 实现了 BeanNameAware 接口,就调用 setBeanName() 方法,并传入 Bean 的名字。
  • 如果 Bean 实现了 BeanClassLoaderAware 接口,就调用 setBeanClassLoader() 方法,以及传入 ClassLoader 对象的实例。
  • 如果 Bean 实现了 BeanFactoryAware 接口,调用 setBeanClassLoader() 方法,传入 ClassLoader 对象的实例。
  • 与上面的类似,如果实现了其他 Aware 接口,就调用相应的方法。
  • 如果有和加载这个 Bean 的 Spring 容器相关的 BeanPostProcessor 对象,执行 postProcessBeforeInitialization() 方法
  • 如果 Bean 实现了 InitializingBean 接口,执行 afterPropertiesSet() 方法。
  • 如果 Bean 在配置文件中的定义包含 init-method 属性,执行指定的方法。
  • 如果有和加载这个 Bean 的 Spring 容器相关的 BeanPostProcessor 对象,执行 postProcessAfterInitialization() 方法
  • 当要销毁 Bean 的时候,如果 Bean 实现了 DisposableBean 接口,执行 destroy() 方法。
  • 当要销毁 Bean 的时候,如果 Bean 在配置文件中的定义包含 destroy-method 属性,执行指定的方法。
9709135-37808650d7452c0f.jpg
Spring Bean 生命周期流程
9709135-66f9f4ef6f86206f.jpg
Spring Bean 生命周期流程

转载地址:http://wisin.baihongyu.com/

你可能感兴趣的文章
JZ1.二维数组的查找
查看>>
3.无重复字符的最长子串
查看>>
String 类
查看>>
什么是接口
查看>>
Java高级篇之进程
查看>>
类加载机制
查看>>
了解jdk1.8版本一些新的特性
查看>>
Java高级篇之网络通讯
查看>>
浅谈篇之线程池
查看>>
Lambda 表达式
查看>>
字符串函数MySQL
查看>>
8个SQL讲解优化
查看>>
MySQL实战续(二)
查看>>
安装Elastic和kibana
查看>>
什么是搜索
查看>>
全文检索工具elasticsearch
查看>>
ES6之模块化
查看>>
Vue之条件渲染实战
查看>>
Vue之列表渲染
查看>>
Vue之计算属性实战
查看>>