JAVA全系列 教程
3762个小节阅读:7089.2k
目录
C语言快速入门
JAVA全系列 教程
面向对象的程序设计语言
Python全系列 教程
Python3.x版本,未来主流的版本
人工智能 教程
顺势而为,AI创新未来
大厂算法 教程
算法,程序员自我提升必经之路
C++ 教程
一门通用计算机编程语言
微服务 教程
目前业界流行的框架组合
web前端全系列 教程
通向WEB技术世界的钥匙
大数据全系列 教程
站在云端操控万千数据
AIGC全能工具班
A A
White Night
Spring中<bean>
的scope控制的是Bean的作用域。也可以用注解@Scope("singleton")控制。
通过调整scope属性的取值,可以控制bean的有效范围。
一共有6个可取值,官方截图如下:
翻译过来:
singleton:默认值。bean是单例的,每次获取Bean都是同一个对象。
prototype:原型,每次获取bean都重新实例化。
request:每次请求重新实例化对象,同一个请求中多次获取时单例的。
session:每个会话内bean是单例的。
application:整个应用程序对象内bean是单例的。
websocket:同一个websocket对象内对象是单例的。
里面的singleton和prototype在Spring最基本的环境中就可以使用,不需要web环境。
但是里面的request、session、application、websocket都只有在web环境才能使用。
xxxxxxxxxx
<bean id="people" class="com.bjsxt.pojo.People" scope="singleton">
</bean>
衍生问题:Spring 中 Bean是否是线程安全的?
如果bean的scope是单例的,bean不是线程安全的。
如果bean的scope是prototype,bean是线程安全的。