`

Spring注解入门 scope为'request'异常问题

阅读更多

Spring注解入门


更多相关推荐 这个问题花费了我几个小时,我已经在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这个接口,所以一直抛出上面的异常。
希望能对遇到这种情况的朋友有所帮助。

<listener>
     <listener-class>
       org.springframework.web.context.request.RequestContextListener
     </listener-class>
  </listener

org.springframework.web.servlet包为什么没有了?

Spring 2.5.5的spring.jar文件中不知为什么org.springframework.web.servlet包没有了,原来在Spring2.0.8下正常运行的程序现在都不能运行了,请问用什么办法解决呢?

采纳的答案
Spring MVC已经作为一个单独的了项目拿出来了, 发布时没有加到SpringFrameWork里面, 这部分在spring-webmvc.jar这个jar中, 你加到classpath就可以了!

--------------------------------------------------------------------------------
提问者对于答案的评价:
感谢小疯子的回答,问题已经解决。如果您能在回答中多说一句“在发行包的 lib/modules 目录中存在”就更好了。

分享到:
评论

相关推荐

    Spring 注解 小例子

    Spring注解的主要目的是消除XML配置文件,使开发者能够通过在类或方法上直接添加注解来声明对象及其依赖关系。这个小例子将深入探讨Spring框架中的主要注解及其用法。 1. `@Component`、`@Service`、`@Repository` ...

    Spring注解@Scope原理及用法解析

    "Spring注解@Scope原理及用法解析" Spring 注解 @Scope 是 Spring IoC 容器中的一个作用域,用于定义 Bean 的生命周期和作用域。在 Spring 中,@Scope 注解可以用来定义 Bean 的实例化方式和生命周期。下面我们将...

    Spring中Scope为Request和Session的Bean了.docx

    这两个Bean都继承自`HelloMessageGenerator`类,并且分别使用了`@RequestScope`和`@SessionScope`注解来指定它们的作用域。 1. `@RequestScope`:这个注解表示Bean的生命周期与每个HTTP请求关联。每当一个新的HTTP...

    Spring注解 - 52注解 - 原稿笔记

    在火狐中显示可能会有问题,大家都是程序员,改个参数就好啦 注解包含: 拦截器 , 过滤器 , 序列化 , @After , @AfterReturning , @AfterThrowing , @annotation , @Around , @Aspect , @Autowired , @Bean , @Before ,...

    spring注解实例

    1. `@Component`:这是所有Spring注解的基类,用于标记一个类为Spring管理的Bean。派生注解如`@Service`、`@Repository`和`@Controller`分别用于业务层、数据访问层和控制层。 2. `@Autowired`:这个注解自动装配...

    spring注解开发--Bean加载控制.zip

    你可以指定包路径,Spring会扫描该路径及其子路径下的所有类,将带有@Component及其派生注解的类注册为bean。 3. **@Scope** `@Scope`注解用于定义bean的作用域。Spring支持单例(singleton)、原型(prototype)...

    线程中获取spring 注解bean

    当需要在线程中获取Spring注解的bean时,有几种常见的方法: 1. **ThreadLocal**:Spring提供了一种名为`ThreadLocalTargetSource`的特殊`TargetSource`实现,可以将bean实例绑定到当前线程。这样,每个线程都有其...

    Spring注解IOC所用的jar包

    3. `@Scope`:用来定义Bean的作用域,例如单例(`prototype`)、原型(`singleton`)、请求(`request`)、会话(`session`)等。 4. `@Value`:用于注入基本类型的值或属性文件中的值。它可以注入到字段、方法参数...

    spring注解整理,及应用

    * @Scope:@Scope 注解是 Spring IoC 容器中的一个作用域,在 Spring 中可以指定 Bean 的作用域,如 Singleton、Prototype 等。 Spring 中的注解可以帮助开发者快速开发应用程序,减少代码的冗长和复杂性。同时,...

    浅谈spring 常用注解

    这些注解的用法相同,都是将普通的Java类加入到Spring容器中,并将其转换为Bean。 二、Bean注解 @Bean注解是用来定义Bean的,主要用于方法上,类似于工厂方法。当使用了@Bean注解时,我们可以连续使用多种定义Bean...

    Spring全注解Examples

    在Spring框架中,注解是实现依赖注入(Dependency Injection,DI)和简化配置的主要手段。在"Spring全注解Examples"这个项目中,我们将探讨如何使用Spring 4.2.2版本的注解来配置bean,执行AOP(面向切面编程)以及...

    Spring注解

    Spring框架是Java开发中不可或缺的一部分,它通过提供丰富的注解,极大地简化了应用程序的配置和管理。...通过阅读《Spring注解.doc》文档,可以获取更详细的信息和实例,加深对Spring注解的理解和应用。

    spring注解开发.zip

    1. `@Component`:这是Spring中最基础的注解,用于标记一个类为Spring管理的Bean。当扫描到这个注解时,Spring会将该类实例化并存入Bean容器中。通过子注解如`@Service`、`@Repository`和`@Controller`可以为不同...

    spring 注解 优化

    Spring注解提供了声明式的方式,使得开发者可以摆脱XML配置文件,让代码更简洁、更易读。本篇文章将深入探讨如何利用Spring注解进行优化,以及相关的实践案例。 1. **@Component, @Service, @Repository 和 @...

    spring的注解方式

    以下是一些关键的Spring注解: 1. `@Component`:这是所有Spring组件注解的基础,用于标记一个类为Spring管理的Bean。例如,`@Service`、`@Repository`和`@Controller`都是它的子注解,分别用于服务层、数据访问层...

    spring的注解.docx

    这是最基础的注解,用于标记一个Java类为Spring的Bean。当Spring容器启动时,会扫描标记了@Component的类,并自动创建相应的Bean实例。这个注解通常用在业务逻辑层、数据访问层和视图层的类上。 2. **@Service**:...

    Spring常用注解(收藏大全).docx

    * `@Scope`:设置 Spring 容器如何新建 Bean 实例,包括 Singleton、Prototype、Request、Session 和 GlobalSession 等。 * `@PostConstruct`:由 JSR-250 提供,在构造函数执行完之后执行,等价于 xml 配置文件中 ...

    spring的配置注解

    `@Component`是Spring中最基础的注解,它可以将一个普通的Java类声明为Spring的Bean。当你在类上使用`@Component`时,Spring会自动发现这个类并将其注册到IoC容器中。例如: ```java @Component public class ...

    Spring Data JPA入门项目01

    比如,我们可以创建一个`User`实体,包含ID、姓名、邮箱等属性,并使用`@Entity`注解标记为JPA实体: ```java import javax.persistence.Entity; import javax.persistence.GeneratedValue; import javax....

    BlazeDS+Spring+SpringMVC 注解方式配置文件

    在"BlazeDS+Spring+SpringMVC 注解方式配置文件"的场景下,我们将关注如何使用注解来简化这三者之间的整合。注解是Java中的一种元数据,可以为编译器或运行时环境提供信息,简化代码并减少XML配置。 首先,...

Global site tag (gtag.js) - Google Analytics