spring 中的scope 理解

spring 中bean的scope

singleton   默认的设置 适用于无状态的bean,以下设置是等价的

<bean id="accountService" class="com.foo.DefaultAccountService"/>

<!-- the following is equivalent, though redundant (singleton scope is the default) -->
<bean id="accountService" class="com.foo.DefaultAccountService" scope="singleton"/>


prototype 每次创建一个新的bean  适合有状态的bean

<bean id="accountService" class="com.foo.DefaultAccountService" scope="prototype"/>



Request, session, and global session  只有在web类型的ApplicationContext 工程中可用

例如XmlWebApplicationContext,以下是官方解释:

request
Scopes a single bean definition to the lifecycle of a single HTTP request; that is, each HTTP request has its own instance of a bean created off the back of a single bean definition. Only valid in the context of a web-aware Spring ApplicationContext.
session
Scopes a single bean definition to the lifecycle of an HTTP Session. Only valid in the context of a web-aware Spring ApplicationContext.
global session
Scopes a single bean definition to the lifecycle of a global HTTP Session. Typically only valid when used in a portlet context. Only valid in the context of a web-aware Spring ApplicationContext.

猜你喜欢

转载自ajax-xu.iteye.com/blog/1974176
今日推荐