bean的作用域
bean的默认作用域
Spring定义了多种作用域,可以基于这些作用域创建bean,包括:
单例(Singleton):在整个应用中,只创建bean的一个实例....原型(Prototype):每次注入或者通过Spring应用上下文获取的时候,都会创建一个新的bean实例.
会话(Session):在web应用中,为每个会话创建一个bean实例....请求(Request):在web应用中,为每个请求创建一个bean实例....,每个客户都会向购物车添加商品,这时我们希望当前用户能一直使用对应的bean,这时就需要涉及到会话作用域了,如下进行配置:
@Component
@Scope(
value = WebApplicationContext.SCOPE_SESSION...会为Web应用中的每个会话创建一个ShoppingCart.这里创建多个ShoppingCart的bean的实例,但是对于给定的会话只会创建一个实例,在在当前会话相关的操作中,这个bean实际上相当于单例的