目录
百战程序员,全站22050+开发课程+文档 ,学习精选优质好课快人一步!观看视频 快捷键ALT+N

JAVA全系列 教程

3762个小节阅读:7089.2k

收藏
全部开发者教程

C语言快速入门

JAVA全系列 教程

面向对象的程序设计语言

Python全系列 教程

Python3.x版本,未来主流的版本

人工智能 教程

顺势而为,AI创新未来

大厂算法 教程

算法,程序员自我提升必经之路

C++ 教程

一门通用计算机编程语言

微服务 教程

目前业界流行的框架组合

web前端全系列 教程

通向WEB技术世界的钥匙

大数据全系列 教程

站在云端操控万千数据

AIGC全能工具班

A

A A

White Night

阅读(502)
赞(0)

十六、bean标签的scope属性

1. 官方默认支持的scope属性值

Spring中<bean>的scope控制的是Bean的作用域。也可以用注解@Scope("singleton")控制。

通过调整scope属性的取值,可以控制bean的有效范围。

一共有6个可取值,官方截图如下:

image-20230321092237520

翻译过来:

singleton:默认值。bean是单例的,每次获取Bean都是同一个对象。

image-20230321141822801

prototype:原型,每次获取bean都重新实例化。

image-20230321141845187

request:每次请求重新实例化对象,同一个请求中多次获取时单例的。

session:每个会话内bean是单例的。

application:整个应用程序对象内bean是单例的。

websocket:同一个websocket对象内对象是单例的。

里面的singleton和prototype在Spring最基本的环境中就可以使用,不需要web环境。

但是里面的request、session、application、websocket都只有在web环境才能使用。

衍生问题:Spring 中 Bean是否是线程安全的?

如果bean的scope是单例的,bean不是线程安全的。

如果bean的scope是prototype,bean是线程安全的。

 

北京市昌平区回龙观镇南店村综合商业楼2楼226室

©2014-2023 百战卓越(北京)科技有限公司 All Rights Reserved.

京ICP备14032124号-2