Scope作用域以及涉及的问题

简介: Singleton(单例式):在整个应用中,只创建bean的一个实例。

Bean的作用域


  1. Singleton(单例式):在整个应用中,只创建bean的一个实例。


  1. Prototype(原型式):每次注入或者通过Spring应用上下文获取的时候,都会创建一个新的bean实例。


  1. Session(会话式):在Web应用中,为每个会话创建一个bean实例。(eg:电子商务应用中,一个bean代表一个用户的购物车,只要同一个session一个bean)。


  1. Request(请求式):在Web应用中,为每个请求创建一个bean实例。


Session和Request注入Singleton中问题


@Component  
    @Scope{  
 Value=WebApplicationContext.SCOPE_SISSION,
         proxyMode=ScopeProxyMode.INTERFACES}
    Public ShoppingCart  cart(){
    }  
@Component  
public class StoreService{  
    @Autowired 
    public void setShoppingCart(ShoppingCart shoppingCart){
        this.shoppingCart=shoppingCart;
    }
}
复制代码


分析


注解方式:通过使用@Scope当中的proxyMode方式进行代理处理,


  • 实现了接口的类


@Scope(value = WebApplicationContext.SCOPE_SESSION,
  proxyMode = ScopedProxyMode.INTERFACES)
复制代码


  • 具体的类可以使用CGLib来为其生成一个代理


@Scope(value = WebApplicationContext.SCOPE_SESSION,
  proxyMode = ScopedProxyMode.TARGET_CLASS)
复制代码


可能出现的exception:Scope ‘session’ is not active for the current thread错误


目录
相关文章
|
4天前
|
JavaScript 前端开发
避免将变量和函数暴露给全局作用域可能导致的命名冲突和代码可维护性
保护变量和函数不暴露于全局作用域可防止命名冲突,提升代码可维护性。
|
4天前
|
自然语言处理 JavaScript 前端开发
作用域的概念及作用?作用域的分类?.js 属于哪种作用域?
作用域的概念及作用?作用域的分类?.js 属于哪种作用域?
38 0
|
4天前
|
JavaScript 前端开发
js开发:请解释什么是作用域(scope),并说明全局作用域、局部作用域和块级作用域的区别。
JavaScript中的作用域规定了变量和函数的可见性与生命周期。全局作用域适用于整个脚本,变量可通过全局对象访问,可能导致命名冲突和内存占用。局部作用域限于函数内部,每次调用创建新作用域,执行完毕后销毁。ES6引入的块级作用域通过`let`和`const`实现,变量仅在其代码块内有效,并有暂时性死区。作用域机制有助于代码组织和变量管理。
24 1
|
9月前
|
Java Spring
案例06 Bean的作用域案例
分别使用singleton和prototype作用域创建Bean实例,比较singleton和prototype作用域的区别。
36 0
|
5月前
定义和声明的区别 以及 内部和外部函数
把建立存储空间的变量声明称定义; 不需要建立存储空间的声明称为声明; c为例, 在函数中出现的对变量的声明(除了用extern声明的以外)都是定义 在函数中对其他函数的声明不是函数的定义 详细见c程序设计-谭浩强 196-197页
29 0
|
7月前
|
Java 容器 Spring
bean的作用域和生命周期和后置处理器以及作用域对生命周期的影响~
bean的作用域和生命周期和后置处理器以及作用域对生命周期的影响~
|
7月前
|
存储 搜索推荐 C语言
C 作用域规则
C 作用域规则
21 0
|
8月前
|
JavaScript 前端开发 开发者
|
10月前
|
JavaScript 前端开发
(译)看得见的 JavaScript: 作用域(链)Scope (Chain)
(译)看得见的 JavaScript: 作用域(链)Scope (Chain)
65 0
|
C语言
C 中的变量作用域 – 局部和全局作用域解释
C 中的变量作用域 – 局部和全局作用域解释