Spring支持的Bean的作用域有以下五种:
(1)singleton:默认的作用域,单例Bean,每个Spring IOC容器中只有一个bean的实例;
(2)prototype:原型模式,每次用getBean方法获取prototype定义的bean的时候,都会产生一个新的Bean的实例;
(3)request:为每一个request请求创建一个bean的实例,在这个请求完成之后,这个bean就会失效,然后被Spring的垃圾回收站回收;
(4)session:与request的范围基本相似,同一个session会话共享一个bean的实例,不同session会话之间使用的是不同的bean的实例,只有在Web应用中使用Spring的时候,该作用域才会有效;
(5) global-session:全局作用域,所有的会话共享同一个bean实例,所以说,如果我们想要声明一个让所有会话共享的存储变量的时候,那这个全局变量就应该存储在global-session中。