首页 > 代码库 > 004bean作用域

004bean作用域

1、Singleton(单例)

2、Prototype(原型)---->每次注入、通过Spring应用上下文获取,都会重新创建
    @Scope(ConfigurableBeanFactory.SCOPE_PROTOTYPE)

3、Session(会话)---->在Web应用中,为每个会话创建一个bean实例

@Component
@Scope(value = WebApplicationContext.SCOPE_SESSION, //在当前会话,此bean为单例,单例在Spring应用上下文加载时创建,此时会话还没产生,也没此购物车
              proxyMode = ScopedProxyMode.INTERFACES)//代理bean放入上下文,用到时,代理会对ShoppingCart懒解析,将调用委托给会话域真正ShoppingCart
public ShoppingCart cart() {...}

    ScopedProxyMode.INTERFACES---->代理要实现ShoppingCart接口,并将调用委托给实现bean
    ScopedProxyMode.TARGET_CLASS---->使用CGLib生成基于类的代理

4、Request(请求)---->在Web应用中,为每个请求创建一个bean实例

004bean作用域