`
yjp
  • 浏览: 22061 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
文章分类
社区版块
存档分类
最新评论

关于Spring bean create error for scope 'request'

阅读更多
这个问题花费了我几个小时,我已经在web.xml中添加了RequestContextListener监听器,而且在配置'KnowledgeService'这个bean中也使用scope为'request',但是不抛出异常。而在配置'UserService'这个bean时硬是抛出了下面这个异常:
Error creating bean with name 'UserService': Scope 'request' is not active for the current thread; consider defining a scoped proxy for this bean if you intend to refer to it from a singleton;

幸好,经过一翻苦战,终于明白其中的道理...

Scope 'request' is not active for the current thread这句话中说明在某个线程上试图调用scope为request的bean,但是这个bean中能被在http请求线程中实例化,简单地说就是:在客户请求的时候才可以被实例化。而我的问题是在服务器启动的时候要实例化,所以有"Scope 'request' is not active for the current thread"这一句的出现。在项目中如果有些bean实现了spring中的某些接口(如:SessionAware,RequestAware或BeanPostProcessor等等),就会在服务器启动的时候自动创建代理(proxy),这时如果该bean的scope为request、session...这些web作用域的时候就会出现consider defining a scoped proxy for this bean if you intend to refer to it from a singleton这句话。我的'UserService'这个bean就是间接实现了BeanPostProcessor这个接口,所以一直抛出上面的异常。
希望能对遇到这种情况的朋友有所帮助。
分享到:
评论
2 楼 yjp 2010-04-10  
simplejacky2009 写道
我向dao中注入一个session scope的bean,会报上面的异常,道理我也明白,可是就是不知道怎么做,我的dao没有实现spring的接口。请问您是怎么做的呢?

对不起,我不知道您的dao是什么样子的,是不是扩展什么类?
1 楼 simplejacky2009 2010-02-20  
我向dao中注入一个session scope的bean,会报上面的异常,道理我也明白,可是就是不知道怎么做,我的dao没有实现spring的接口。请问您是怎么做的呢?

相关推荐

    spring bean 的作用域(scope)

    spring bean 的作用域(scope), SPringle bean的作用域

    spring bean的生命周期

    - **XML配置**:在传统的Spring应用中,Bean的定义通常写在XML配置文件中,如`springbean-xml`中的配置。 - **注解配置**:使用`@Component`,`@Service`,`@Repository`和`@Controller`注解标记类,配合`@...

    spring bean XML配置入门

    在本文中,我们将深入探讨Spring框架中的Bean XML配置,这是Spring的核心特性之一,它允许我们定义、管理和装配应用中的对象。我们将围绕以下知识点展开: 1. **Spring框架基础**: Spring是一个开源的Java平台,...

    Spring Bean创建初始化流程.docx

    在Spring框架中,Bean的创建和初始化是IoC(Inversion of Control)容器的核心功能,这一过程涉及到多个步骤。以下是对Spring Bean创建初始化流程的详细解释: 1. **初始化ApplicationContext**: 开始时,通过`...

    Spring bean 动态注册,jar包热替换

    Spring bean 一般通过配置文件和注解进行加载,如果要实现jar或class文件,动态实现spring bean 的动态加载,并通过UrlClassLoader完成jar和class文件的加载。可以实现jar的热替换。spring的bean动态加载则需要对...

    Spring Bean重复执行两次(实例被构造两次)问题分析

    在Spring框架中,Bean的生命周期管理是其核心特性之一,然而有时我们可能会遇到Spring Bean重复执行两次的问题,即实例被构造两次。这个问题可能是由多种原因引起的,涉及到Spring的初始化过程和容器的行为。以下是...

    详解Spring中bean的scope以后使用

    <bean id="role" class="spring.chapter2.maryGame.Role" scope="request"/> ``` #### 六、Session作用域 **Session**作用域下的Bean在每个HTTP Session中创建一次,并且在整个Session期间都有效。这对于需要在...

    spring bean life cycle

    在Spring框架中,Bean生命周期是核心概念之一,它涉及到Bean的创建、初始化、使用和销毁等阶段。了解和掌握Bean生命周期对于开发高质量的Spring应用至关重要。以下是对Spring Bean生命周期的详细解析。 首先,Bean...

    普元eos-springbean开发

    ### 普元EOS-SpringBean开发概述 普元EOS平台是一款面向企业级应用的低代码开发平台,它集成了大量的开发工具和技术框架,帮助企业快速构建高质量的应用系统。本文将围绕“普元EOS-SpringBean开发”这一主题展开...

    Spring Bean 加载顺序 .

    在Spring框架中,Bean的加载顺序是理解Spring IoC(Inversion of Control,控制反转)容器工作原理的关键部分。这个过程涉及到Bean定义的解析、实例化、初始化等多个步骤。让我们详细探讨Spring Bean加载顺序的各个...

    @PostConstruct注解用来获取springbean对象.txt

    获取springbean对象

    一个springbean文件

    bean文件 springbean文件

    实例化Spring bean的两种工厂方法

    在Spring框架中,bean的实例化是其核心功能之一,它允许我们管理应用程序中的对象生命周期。本篇将详细探讨两种工厂方法——实例工厂方法和静态工厂方法,用于创建Spring Bean。 首先,我们要理解Spring Bean的概念...

    springBean加载过程源码解析文档,附有代码类名和行数

    Spring Bean 加载过程源码解析文档 Spring Bean 加载过程是 Spring 框架中最核心的部分之一,涉及到 ApplicationContext 的初始化、Bean 的加载和注册等过程。在 Spring Boot 应用程序中,SpringApplication 负责...

    创建SpringBean配置工具类

    创建SpringBean配置工具类(安全)如: <bean id=... scope="prototype"></bean>

    详解Spring 中如何控制2个bean中的初始化顺序

    Spring 中控制 2 个 bean 的初始化顺序 在 Spring 框架中,控制多个 bean 的初始化顺序是一个常见的问题。本篇文章将详细介绍如何控制 2 个 bean 的初始化顺序,提供了多种实现方式,并分析了每种方式的优缺。 ...

    Spring实战之Bean的作用域request用法分析

    主要介绍了Spring实战之Bean的作用域request用法,结合实例形式分析了spring中Bean的request作用域相关使用技巧与操作注意事项,需要的朋友可以参考下

    spring bean的生命周期测试代码

    本资源提供了在Spring 4.2环境下关于Bean生命周期的测试代码,帮助我们深入理解这一关键概念。 首先,让我们了解Spring Bean的生命周期主要包含以下几个阶段: 1. **实例化**:Spring容器通过`Class`对象或`...

    Spring之scope讲解测试示例代码

    在Spring框架中,`scope`是一个非常重要的概念,它决定了Bean的生命周期和实例化策略。在Spring中,Bean的scope主要有以下几种: 1. **singleton(单例)**:这是默认的scope,每个容器中只有一个实例。无论多少次...

    Spring bean 管理

    在Spring中,Bean的管理包含多个方面:创建Bean实例、配置Bean属性、控制Bean的生命周期以及Bean作用域的定义。接下来将详细解释这些知识点。 1. Spring的工厂类: Spring通过工厂模式设计了一系列工厂类来创建对象...

Global site tag (gtag.js) - Google Analytics