当前位置: 首页 > 知识库问答 >
问题:

Spring会话初始化错误

益何平
2023-03-14

在本教程之后,我将尝试实现Spring会话Spring HttpSession教程

但是当我启动应用程序时,我遇到了一个初始化错误。

异常在线程"main"org.springframework.beans.factory.不满意依赖异常:错误创建bean与名称'springSessionRepositoryFilter'定义在类org.springframework.session.data.redis.config.annotation.web.http.RedisHttpSessionConfiguration:不满意的依赖关系表示通过构造函数参数与类型[javax.servlet.ServletContext]:: 没有限定为依赖项找到类型[javax.servlet.ServletContext]的bean:预期至少有1个bean有资格作为该依赖项的自动连接候选。依赖注释:{};嵌套异常是org.springframework.beans.factory.NoSuchBean定义异常:没有为依赖项找到类型[javax.servlet.ServletContext]的限定bean:预期至少有1个bean有资格作为该依赖项的自动连接候选。依赖项注释:{}

我可能错了,但看起来没有带注释的ServletContext的实现,我应该添加任何其他依赖项来解决这个问题吗?

共有2个答案

戴品
2023-03-14

虽然您可以使用Spring模块版本并解决它,但由于Spring版本不兼容,您可能会导致无数其他问题。相反,您可以使用以下解决方案:ServletContextExposure和FactoryBean

我在一个使用spring 3和XML配置的遗留项目中使用了该选项:

 public class ServletContextExposure implements ServletContextAware, FactoryBean<ServletContext> {

    private ServletContext servletContext;

    @Override
    public ServletContext getObject() {
        return this.servletContext;
    }

    @Override
    public Class<?> getObjectType() {
        return ServletContext.class;
    }

    @Override
    public boolean isSingleton() {
        return true;
    }

    @Override
    public void setServletContext(ServletContext servletContext) {
        this.servletContext = servletContext;
    }
}

如果您正在使用XML配置,那么只需将其添加到spring XML中即可:

    <bean id= "servletContextExposure"  class="com.borderfree.boot.ServletContextExposure"/>
丌官子安
2023-03-14

对于遇到此问题的任何人:
我切换到spring security的快照版本1.1.0,问题消失了
如果您使用的是maven,请在pom中添加spring快照存储库
本教程有帮助

 类似资料:
  • 我正在尝试将我的webapp与enunciate解耦,我有一个web.xml,如下所示,但当Spring3启动时,我得到了: 自动连线依赖项的注入失败;嵌套异常为Org.SpringFramework.Beans.Factory.BeanCreationException:无法自动连接方法:....当前线程的作用域“session”不是活动的;如果您打算从单例引用这个bean,请考虑为它定义一个有

  • 我正在用Spring roo管理一个项目,并且我正在使用hibernate,当我试图使用这个控制器方法时,我得到了这个异常消息:无法初始化代理-没有会话 以下是控制器方法: 以及导致异常的服务方法 为什么会出现这种异常?即使我用@Transactionnal注释我的服务方法,我也会查看applicationContext。xml文件,并找到此行 是 mode=“aspectj” 部分取消了该注释的

  • 我使用的是Spring框架和hibernate,我在其中映射了@OneToMany,当我加载类别来创建新产品时,我得到一个错误:在hibernate中用映射惰性地初始化集合失败,我以前看到过一些说明,请删除FectType。懒惰和我这样做了,但仍然没有效果 类别JAVA Product.java 我在用JPA 这是控制器的代码 product-form.jsp 但我得到错误 "我不知道哪里错了,我

  • 我使用spring初始化工具来生成一些工作骨架,我使用MAVEN项目的默认值 https://start.spring.io/ 当我运行(在项目中没有做任何更改)时,我得到了以下错误,知道如何克服它吗? 使现代化 这是pom。xml文件,我没有更改任何内容。。。 更新2

  • 问题内容: 要获得答案,请向下滚动到此内容的结尾… 基本问题与多次询问相同。我有一个带有两个POJO事件和用户的简单程序-一个用户可以拥有多个事件。 用户: 注意:这是一个示例项目。我 真的 很想在这里使用Lazy抓取。 现在我们需要配置spring和hibernate,并有一个简单的basic-db.xml用于加载: 注意:我玩过CustomScopeConfigurer和SimpleThrea

  • 注意:关于我如何解决这个问题的例子,请看我自己对这个问题的回答。 我在我的Spring MVC 4 Hibernate 4项目中遇到以下异常: org . hibernate . lazyinitializationexception:无法延迟初始化角色集合:com . my site . company . acknowledges,无法初始化代理-无会话 看了很多关于这个问题的其他问题,我明白