常见的有七种:
singleton:
默认,每个容器中只有⼀个bean的实例,单例的模式由BeanFactory⾃身来维护。该对象的⽣命周期是与Spring IOC容器⼀致的(但在第⼀次被注⼊时才会创建)。
prototype:
为每⼀个bean请求提供⼀个实例。在每次注⼊时都会创建⼀个新的对象
request:
bean被定义为在每个HTTP请求中创建⼀个单例对象,也就是说在单个请求中都会复⽤这⼀个单例对象。
session:
与request范围类似,确保每个session中有⼀个bean的实例,在session过期后,bean会随之失效。
application:
bean被定义为在ServletContext的⽣命周期中复⽤⼀个单例对象。
websocket:
bean被定义为在websocket的⽣命周期中复⽤⼀个单例对象。
global-session:
全局作⽤域,global-session和Portlet应⽤相关。当你的应⽤部署在Portlet容器中⼯作时,它包含很多portlet。如果你想要声明让所有的portlet共⽤全局的存储变量的话,那么这全局变量需要存储在global-session中。全局作⽤域与Servlet中的session作⽤域效果相同。