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

相关推荐
喵个咪1 小时前
Go-Wind HTTP 服务器从入门到精通
后端·http·go
hunterandroid1 小时前
Hilt 依赖注入:从手动 new 到自动装配
后端
喵个咪1 小时前
Go-Wind gRPC 服务器从入门到精通
后端·go·grpc
喵个咪1 小时前
Go-Wind GraphQL 服务器从入门到精通
后端·graphql
青青子衿悠悠我心1 小时前
Docker与Kubernetes的十年战争与融合
后端
AI小老六1 小时前
SkillOpt 架构拆解:把 Skill 文本当参数,用执行轨迹训练 Agent
后端·算法·ai编程
云技纵横1 小时前
@Transactional 到底要不要加 rollbackFor?一次数据不一致事故讲清楚
后端·面试
Csvn1 小时前
日志分析进阶 — Logwatch 与 GoAccess 实战
后端
Moment1 小时前
牛逼,NextJs 从 16.3 开始全面拥抱 Agent Native 🥰🥰🥰
前端·后端·面试