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

相关推荐
HalvmånEver几秒前
Linux:线程互斥
java·linux·运维
rainbow68898 分钟前
深入解析C++STL:map与set底层奥秘
java·数据结构·算法
灵感菇_12 分钟前
Java 锁机制全面解析
java·开发语言
indexsunny12 分钟前
互联网大厂Java面试实战:Spring Boot微服务在电商场景中的应用与挑战
java·spring boot·redis·微服务·kafka·spring security·电商
娇娇乔木25 分钟前
模块十一--接口/抽象方法/多态--尚硅谷Javase笔记总结
java·开发语言
saber_andlibert37 分钟前
TCMalloc底层实现
java·前端·网络
逍遥德38 分钟前
如何学编程之01.理论篇.如何通过阅读代码来提高自己的编程能力?
前端·后端·程序人生·重构·软件构建·代码规范
wangjialelele41 分钟前
平衡二叉搜索树:AVL树和红黑树
java·c语言·开发语言·数据结构·c++·算法·深度优先
m0_481147331 小时前
拦截器跟过滤器的区别?拦截器需要注册吗?过滤器需要注册吗?
java
Coder_Boy_1 小时前
基于SpringAI的在线考试系统-相关技术栈(分布式场景下事件机制)
java·spring boot·分布式·ddd