spring 中bean的scope
singleton 默认的设置 适用于无状态的bean,以下设置是等价的
prototype 每次创建一个新的bean 适合有状态的bean
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.
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.