详情见spring文档
说明
scope翻译就是范围的意思,从名字看就是定义这个bean的作用范围。从文档中说明有5个值可以使用。
- @Scope(“singleton”)
该注解的默认值,表示这个bean在spring容器中是单例的,我们通过spring容器获取这个bean的时候,都是对一个对象进行操作。
- @Scope(“prototype”)
表示这个bean在容器中不是单例的,每次通过spring容器获取到的实例都是一个新的实例。因为每次都会产生一个新的实例,所以这个值要注意新建对象的开销。
- @Scope(“request”)
表示这个bean在每一次的http request中是单例的,也就是说不同的http请求中的bean都是不同的实例。这个值需要spring是在web应用中的。
- @Scope(“session”)
表示这个bean在每一次的http session中是单例的,也就是说不同的http会话中的bean都是不同的实例。这个值需要spring是在web应用中的。
- @Scope(“global session”)
表示这个bean在全局http session中是单例的,也就是说在全局会话中的bean是同一个实例。这个值需要spring是在web应用中的。