Spring框架支持以下几种Bean的作用域:
-
Singleton(单例):
- 在整个应用程序的生命周期内,只创建一个Bean实例。所有对该Bean的请求都返回相同的实例。这是Spring默认的作用域。
<bean id="mySingletonBean" class="com.example.MySingletonBean" scope="singleton" />
-
Prototype(原型):
- 每次对Bean的请求都会创建一个新的Bean实例。每个请求都返回一个不同的实例。
<bean id="myPrototypeBean" class="com.example.MyPrototypeBean" scope="prototype" />
-
Request(请求):
- 每次HTTP请求都会创建一个新的Bean实例,该作用域仅在Spring Web应用程序中有效。
<bean id="myRequestBean" class="com.example.MyRequestBean" scope="request" />
-
Session(会话):
- 每个用户会话都会创建一个新的Bean实例,该作用域仅在Spring Web应用程序中有效。
<bean id="mySessionBean" class="com.example.MySessionBean" scope="session" />
-
Global Session(全局会话):
- 在全局HTTP会话中,每个应用程序都只创建一个Bean实例。该作用域同样仅在Spring Web应用程序中有效,且需要在
web.xml
中配置。
<bean id="myGlobalSessionBean" class="com.example.MyGlobalSessionBean" scope="globalsession" />
- 在全局HTTP会话中,每个应用程序都只创建一个Bean实例。该作用域同样仅在Spring Web应用程序中有效,且需要在
这些作用域允许开发者根据应用程序的需求,控制Bean的生命周期和共享情况。默认情况下,Spring的Bean是单例的,但根据应用程序的特定要求,可以选择其他作用域。
Was this helpful?
0 / 0