查看原文
其他

Spring bean - scope详解

2017-08-04 javastack Java技术栈


Scope是定义Spring如何创建bean的实例的。


在创建bean的时候可以带上scope属性,scope有下面几种类型。



Singleton


这也是Spring默认的scope,表示Spring容器只创建一个bean的实例,Spring在创建第一次后会缓存起来,之后不再创建,就是设计模式中的单例模式。


Prototype


代表线程每次调用这个bean都新创建一个实例。


Request


表示每个request作用域内的请求只创建一个实例。


Session


表示每个session作用域内的请求只创建一个实例。


GlobalSession


这个只在porlet的web应用程序中才有意义,它映射到porlet的global范围的session,如果普通的web应用使用了这个scope,容器会把它作为普通的session作用域的scope创建。



在创建bean的时候如何指定呢?


xml方式


<bean id="student" class="Student" scope="prototype" />


注解方式


@Component

@Scope("prototype")

public class Student{


}


是不是很简单,更多干货请关注我们的公众号。



您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存