【后端面经-Spring】Spring 中 bean 的生命周期)

农民  金牌会员 | 2023-6-24 00:13:22 | 显示全部楼层 | 阅读模式
打印 上一主题 下一主题

主题 907|帖子 907|积分 2721

目录

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的生命周期


免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

农民

金牌会员
这个人很懒什么都没写!

标签云

快速回复 返回顶部 返回列表