Spring中的@scope注解

scope,中文翻译是作用域。

然后这尴尬的是默认是单例?让我觉得他是一个设计模式什么的,,,

其实scope理解起来,反而像什么时候创建一次实例那样。

但是也可以理解成,singleton是启动创建,prototype/request/session/globalsession是动态创建。

总感觉scope负责的功能和他的翻译很不符,依然求大神解释....

参数解析

singleton:单例模式,在整个Spring IoC容器中,使用singleton定义的Bean将只有一个实例

prototype:原型模式,每次通过容器的getBean方法获取prototype定义的Bean时,都将产生一个新的Bean实例

request:对于每次HTTP请求,使用request定义的Bean都将产生一个新实例,即每次HTTP请求将会产生不同的Bean实例。只有在Web应用中使用Spring时,该作用域才有效

session:对于每次HTTP Session,使用session定义的Bean豆浆产生一个新实例。同样只有在Web应用中使用Spring时,该作用域才有效

globalsession:每个全局的HTTP Session,使用session定义的Bean都将产生一个新实例。典型情况下,仅在使用portlet context的时候有效。同样只有在Web应用中使用Spring时,该作用域才有效。

原文地址:https://www.cnblogs.com/ydymz/p/9224425.html