1、在默认情况下,IoC容器只会对一个Bean创建一个实例(单例模式)
@Scope默认是单例模式,即scope="singleton"。
2、在实际开发中,有时候我们希望能够通过IoC容器获取多个实例。若只有一个实例在高并发时就会冲突。可以在不同的线程中使用不同的实例。实现这样的需要,Spring提供了Bean的4中作用域
(1)单例模式(singleton):默认选项,在整个应用中,IoC容器只给一个Bean生成一个实例
(2)原型(prototype):当每次注入时,或通过IoC容器获取Bean时,Spring都会创建一个新的实例
(3)会话(session):在Web应用中使用,表示在Web的会话过程中IoC容器只为Bean创建一个实例
(4)请求(request):在Web应用中使用,表示在一次请求中IoC容器只为Bean创建一个实例
3.request、session、global session使用的时候首先要在初始化web的web.xml中做如下配置:
<listener>
<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
</listener>