bean的生命周期

生命周期:从生到死的过程。那么对于bean来说就是从创建到销毁的过程。

普通的Java对象的创建由我们new创建,然后在不用的时候,java回收机制会自动回收。那么bean呢?

bean是spring中的对象,和普通对象不一样的就是bean是由spring创建和管理的,我们使用的时候直接调用,bean的生命周期由spring决定。

那么一个bean的生命周期可以分为五部分:

  1. 实例化:给bean分配内存空间。**注意:实例化和初始化不一样,**实例化只是分配一个内存空间。
  2. 设置属性:依赖注入.
  3. 初始化:执行各种通知,如BeanNameAware;执行初始化。
  4. 使用bean
  5. 销毁bean

bean的执行流程

bean的销毁是要在容器(上下文)销毁前才回去执行的。

只有这些是不会执行的,要加上容器的销毁:

这样就会在容器销毁前执行bean销毁的方法。

为什么属性装配在初始化前边呢?

因为初始化的时候可能会用到有的方法或者值,所以要先一步进行属性装配。

相关推荐
Elastic 中国社区官方博客11 分钟前
我们如何通过 70 多个拉取请求,将 OpenTelemetry Java agent 迁移到 invokedynamic
java·大数据·开发语言·elasticsearch·搜索引擎·全文检索·es
tyn18824 分钟前
记录本地安装nacos服务的方法及异常
java·开发语言
步行cgn1 小时前
Spring MVC 视图机制的核心接口与类
java·开发语言·后端·spring·mvc
y1su1 小时前
Leetcode 字符串模板
java·数据结构·算法·leetcode·职场和发展·动态规划
传奇开心果编程2 小时前
【Rust入门练中学】第5课:引用与借用
开发语言·rust·引用·编程语言理论·通用编程语言·借用
qetfw2 小时前
Bash 变量:export、位置参数与默认值展开验证
linux·开发语言·chrome·bash
电子云与长程纠缠2 小时前
UE5魂系游戏开发教程05
开发语言·学习·游戏·ui·ue5
cspttty2 小时前
2027风险管理岗准备路线:数学与应用数学如何补齐金融、SQL与Python
开发语言·python·金融
我命由我123452 小时前
Python 开发 - Python 的 pathlib
java·开发语言·后端·python·学习·java-ee·学习方法
苜蓿muxu3 小时前
Java 字符串拼接:+、StringBuilder、StringBuffer的区别
java