SpringBoot Bean的生命周期
SpringBoot Bean的生命周期总体分四个阶段:实例化 => 属性注入 => 初始化 => 销毁
Bean生命周期分析
-
实例化:根据配置文件中 Bean 的定义,利用 Java Reflection 反射技术创建 Bean 的实例
-
属性注入:注入对象依赖的属性值(或对象)
-
处理各种 Aware 接口:Spring 会检测该 Bean 是否实现了 xxxAware 接口,通过 Aware 类型的接口,可以让 Spring 框架为当前 Bean 注入相对应的内容
- 如果 Bean 实现 BeanNameAware 接口,会调用实现的 setBeanName(string beanid)方法,注入bean 的名字;
- 如果 Bean 实现 BeanClassLoaderAware 接口,调用setBeanClassLoader()方法,注入 ClassLoader 对象的实例;
- 如果 Bean 实现 BeanFactoryAware 接口,会调用它实现的 setBeanFactory() 方法,注入的是 spring