解释下spring支持的几种bean的作用域
- singletion:默认,每个容器只能有一个bean的实例,单例模式由BeanFactory自身来维护。该对象的生命周期是与Spring IOC容器一致的(但在第一次被注入时才会创建)
- prototype:为每一个bean请求提供一个实例。在每次注入时都会创建一个新的对象
- request:bean被定义为在每个http请求中创建一个单例对象,也就是说在单个请求中都会复用这一单例对象
- session:与request范围类似,确保每个session中都只有一个bean的实例,在session过期后,bean会随之失效
- application:bean被定义在ServletContext的生命周期中复用的一个单例对象
- websocket:bean被定义为在websocket的生命周期中复用的一个单例对象。