什么是Spring Bean?

任何通过Spring 容器实例化组装管理 的Java对象都能称之为Spring Bean

Bean可以看成是Spring应用中的一个普通Java对象 ,这个对象的创建、属性赋值、初始化、销毁等完整的生命周期是由Spring IOC容器来统一管理的,并非程序员手动控制。

Spring Bean的生命周期分为实例化依赖注入初始化 以及销毁这4个固定不可逆的阶段。

Spring 容器启动时,会根据配置文件或者注解,先实例化Bean

之后,Spring 容器再通过注解(@Autowired)或者setter方法将Bean的依赖属性注入进来;

依赖注入完成后,如果Bean标注了@PostConstruct注解、实现了InitializingBean接口或者配置了init-method,Spring就会调用相应的初始化方法,完成Bean的初始化操作。

初始化完成后,Bean就进入到了就绪状态,可以被程序获取和使用了。

如果Bean标注了@PreDestroy注解、实现了DisposableBean接口或者配置了destroy-methodSpring会在容器关闭时调用对应的销毁方法,完成Bean的资源释放。

相关推荐
毕设源码-邱学长5 小时前
【开题答辩全过程】以 基于Java的学校住宿管理系统的设计与实现为例,包含答辩的问题和答案
java·开发语言
兑生7 小时前
【灵神题单·贪心】1481. 不同整数的最少数目 | 频率排序贪心 | Java
java·开发语言
daidaidaiyu7 小时前
一文学习 Spring 声明式事务源码全流程总结
java·spring
颜酱7 小时前
DFS 岛屿系列题全解析
javascript·后端·算法
零雲8 小时前
java面试:了解抽象类与接口么?讲一讲它们的区别
java·开发语言·面试
小码哥_常8 小时前
Java后端定时任务抉择:@Scheduled、Quartz、XXL - Job终极对决
后端
uzong8 小时前
Skill 被广泛应用,到底什么是 Skill,今天详细介绍一下
人工智能·后端·面试
小码哥_常9 小时前
Kafka平替!SpringBoot+Redis Stream+消费组打造极致消息队列
后端
IT_陈寒10 小时前
Redis缓存击穿:3个鲜为人知的防御策略,90%开发者都忽略了!
前端·人工智能·后端
uzong11 小时前
Harness Engineering 是什么?一场新的 AI 范式已经开始
人工智能·后端·架构