标签:contex 图片 cep img 表示 exce 应该 基于 ESS
一、Singleton
Singleton是单例类型,bean默认就是单例的,就是在创建起容器时就同时自动创建了一个bean的对象,不管你是否使用,他都存在了,每次获取到的对象都是同一个对象。当开发者定义一个Bean的作用域为单例时,Spring IoC容器只会根据Bean定义来创建该Bean的唯一实例。这些唯一的实例会缓存到容器中,后续针对单例Bean的请求和引用,都会从这个缓存中拿到这个唯一的实例
<bean id="ServiceImpl" class="com.service.ServiceImpl" scope="singleton">
二、Prototype
Prototype是原型类型,它在我们创建容器的时候并没有实例化,而是当我们获取bean的时候才会去创建一个对象,而且我们每次获取到的对象都不是同一个对象.
(对有状态的bean应该使用prototype作用域,
对无状态的bean则应该使用singleton作用域)
<bean id=" ServiceImpl " class=" com.service.ServiceImpl " scope="prototype"/>
或者
<bean id=" ServiceImpl " class=" com.service.ServiceImpl " singleton="false"/>
三、request
当一个bean的作用域为Request,表示在一次HTTP请求中,一个bean定义对应一个实例;(每个HTTP请求都会有各自的bean实例,它们依据某个bean定义创建而成)该作用域仅在基于web的Spring ApplicationContext情形下有效
<bean id="goInt" class= “com.zsl.action.goInt " scope="request"/>
针对每次HTTP请求,Spring容器会根据goInt bean的定义创建一个全新的bean实例,且该goInt bean实例仅在当前HTTP request内有效,因此可以根据需要放心的更改所建实例的内部状态,不会影响到其他的bean,http请求协议是无连接,无状态的,而其他请求中根据goInt bean定义创建的实例,将不会看到这些特定于某个请求的状态变化。当处理请求结束,request作用域的bean实例将被销毁。
四、session
当一个bean的作用域为Session,表示在一个HTTP Session中,一个bean定义对应一个实例。该作用域仅在基于web的Spring ApplicationContext情形下有效
<bean id=" goInt " class=" com.zsl.action.goInt " scope="session"/>
针对某个HTTP Session,Spring容器会根据goInt bean定义创建一个全新的bean实例,且该goInt bean仅在当前HTTP Session内有效。与request作用域一样,可以根据需要放心的更改所创建实例的内部状态,而别的HTTP Session中根据goInt创建的实例,将不会看到这些特定于某个HTTP Session的状态变化。当HTTP Session最终被废弃的时候,在该HTTP Session作用域内的bean也会被废弃掉。
五、Global Session
当一个bean的作用域为Global Session,表示在一个全局的HTTP Session中,一个bean定义对应一个实例。典型情况下,仅在使用portlet context的时候有效。该作用域仅在基于web的Spring ApplicationContext情形下有效。
<bean id="user" class="com.zsl.user "scope="globalSession"/>
global session作用域类似于标准的HTTP Session作用域, 与session大体相同,但仅在portlet应用中使用。Portlet规范定义了全局session的概念。请求的bean被组成所有portlet的自portlet所共享。
如果不是在portlet这种应用下,globalSession则等价于session作用域。
request,session以及global session这三个作用域都是只有在基于web的SpringApplicationContext实现的(比如XmlWebApplicationContext)中才能使用。
如果开发者仅仅在常规的Spring IoC容器中比如ClassPathXmlApplicationContext中使用这些作用域,那么将会抛出一个IllegalStateException来说明使用了未知的作用域。
借鉴于:
https://blog.csdn.net/jishuizhipan/article/details/79391651
https://blog.csdn.net/fuzhongmin05/article/details/73389779
个人温故学习之用
标签:contex 图片 cep img 表示 exce 应该 基于 ESS
原文地址:https://www.cnblogs.com/zhangsonglin/p/10920406.html