什么是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的资源释放。

相关推荐
二哈赛车手4 小时前
新人笔记---ApiFox的一些常见使用出错
java·笔记·spring
栗子~~5 小时前
JAVA - 二层缓存设计(本地缓冲+redis缓冲+广播所有本地缓冲失效) demo
java·redis·缓存
YDS8295 小时前
DeepSeek RAG&MCP + Agent智能体项目 —— RAG知识库的搭建和接口实现
java·ai·springboot·agent·rag·deepseek
candyTong6 小时前
Claude Code 的 Edit 工具是怎么工作的
javascript·后端·架构
未若君雅裁6 小时前
MyBatis 一级缓存、二级缓存与清理机制
java·缓存·mybatis
AI人工智能+电脑小能手7 小时前
【大白话说Java面试题 第65题】【JVM篇】第25题:谈谈对 OOM 的认识
java·开发语言·jvm
GetcharZp7 小时前
GitHub 2.4 万 Star!D2 正在重新定义程序员画图方式
后端
阿维的博客日记7 小时前
Nacos 为什么能让配置动态生效?(涉及 @RefreshScope 注解)
java·spring
雨辰AI7 小时前
SpringBoot3 + 人大金仓读写分离 + 分库分表 + 集群高可用 全栈实战
java·数据库·mysql·政务
辰海Coding8 小时前
MiniSpring框架学习-完成的 IoC 容器
java·spring boot·学习·架构