Spring IOC bean的生存周期scope范围

a)     singleton 单例(默认)

b)     proptotype 每次创建新的对象

Bean scopes

Scope Description

singleton

Scopes a single bean definition to a single object instance per Spring IoC container.

prototype

Scopes a single bean definition to any number of object instances.

request

Scopes a single bean definition to the lifecycle of a single HTTP request; that is each and every HTTP request will have 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 a 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.

 
request、session、global session 在web中才起效,比如和struts集成
但很少用,struts中可以很方便访问request等
 
<bean id="userService" class="com.service.UserService" scope="prototype">
   <!--
   <property name="userDAO" ref="u" />
    -->
    <constructor-arg>
     <ref bean="u"/>
    </constructor-arg>
  </bean>
 
UserService service = (UserService)ctx.getBean("userService");
UserService service2 = (UserService)ctx.getBean("userService");
  System.out.println(service == service2); //false
 
 如果scope="singleton",则是单例,为true

猜你喜欢

转载自leon-s-kennedy.iteye.com/blog/1533454