Spring Bean Scope

singleton

默认情况,为每个Spring IoC容器将单个Bean定义的Scope扩大到单个对象实例。

只有一个单例bean的共享实例被管理,所有对具有符合改bean定义的ID的bean的请求都会被spring容器返回改特定的bean实例。

prototype

将单个bean对应的scope扩大到任何数量的对象实例。

每次对该特定bean的请求都会创建一个新的bean实例。作为一项规则,你应该对所有有状态的bean使用prototype scope,对无状态bean使用singletong scope。

与其他scope相比,spring并不管理prototype bean的完整生命周期。容器对prototype对象进行实例化,配置和其他方面的组装,并将其交给客户端,而对改prototype实例没有进一步的记录。

request

将单个bean对应的scope扩大到单个HTTP请求的声明周期,即每个HTTP请求都有自己的Bean实例,改实例是在单个bean定义的基础上创建的。只在web感知的spring ApplicationContext的上下文中生效。

session

将单个bean定义的scope扩大到一个HTTP Session的生命周期。

application

将单个bean定义的scope扩大到ServletConetxt的生命周期中。

websocket

将单个bean定义的scope扩大到Websocket的生命周期。

 

posted @   小路不懂2  阅读(22)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· 从HTTP原因短语缺失研究HTTP/2和HTTP/3的设计差异
· 三行代码完成国际化适配,妙~啊~
点击右上角即可分享
微信分享提示