首页 > Spring各种作用域在项目中什么情况下会使用?

Spring各种作用域在项目中什么情况下会使用?

Spring Bean 默认是singleton,但是可以通过 scope="" 修改,例如:

<bean id="abc" class="com.a.b.abc" scope="prototype">  
   <property name="abc" ref="def"></property>  
</bean>  

那么singleton,prototype ,request,session,global-session这几种作用域分别用在什么场景下呢。

我并不是想问这几个作用域是什么,而是实际使用的业务场景


singleton:SpringIoc容器只会创建该Bean的唯一实例,所有的请求和引用都只使用这个实例
Property: 每次请求都创建一个实例
request: 在一次Http请求中,容器会返回该Bean的同一个实例,而对于不同的用户请求,会返回不同的实例。需要注意的是,该作用域仅在基于Web的Spring ApplicationContext情形下有效,以下的session和global Session也是如此
session:同上,唯一的区别是请求的作用域变为了session
global session:全局的HttpSession中,容器会返回该bean的同一个实例,典型为在是使用portlet context的时候有效

别人的直接给你贴过来

【热门文章】
【热门文章】