1.bean简介
- bean是一个对象,是由Spring中的IoC创立、实例化的对象。
- 个别的java对象,应用的时候创立,不须要就开释内存进行销毁,而bean的生命周期更加简单
作用域
singleton
:默认单例模式,惟一的bean实例。prototype
:每次申请都会创立一个新的bean实例。request
:每次HTTP申请都会创立一个新的bean实例,该作用域仅在以后http request内无效。session
:每次HTTP申请都会创立一个新的bean实例,该作用域仅在以后HTTP session内无效。global-session
:全局session作用域,仅仅在基于portlet的web利用中才有意义,Spring5曾经没有了。
2. 生命周期
实例化/创立
- 依附反射进行实例化,而不须要像个别的java对象一样手动创立;
属性填充
- 应用
依赖注入
进行属性填充;
- 应用
初始化
- 实现初始化之后,bean能够应用;
销毁
- 容器敞开或者进行服务的时候,销毁该对象;
类比
- 人的毕生:出世->学习->成长->死亡
- bean的毕生:实例化->属性填充->初始化->销毁
3. 参考资料
阿里云开发社区-《聊透 Spring bean 的生命周期》
- 链接
- 粗疏全面讲述了 bean 的生命周期,辅以代码了解。
掘金社区-《Spring Bean 生命周期,如同人的毕生》
- 链接
- 用形象的社会景象类比
bean
对象的生命周期,易于了解,并且用一个PersonBean
作为示例,给出生命周期对应的代码。
SegmentFault- 《一文读懂 Spring Bean 的生命周期》
- 链接
- 具体介绍了bean对象的概念,以及bean的生命周期