拦截器报循环依赖错误

拦截器

@Slf4j
@Component
public class LcOpPermissionInterceptor extends HandlerInterceptorAdapter {

    ......

}

将拦截器注入适配器中

@Configuration
public class LcOpWebMvcConfigurer  extends WebMvcConfigurerAdapter {

    @Autowired
    private LcOpPermissionInterceptor lcOpPermissionInterceptor;

这样写有的时候会导致循环依赖问题,需要换一种写法。去掉上面的@Component注解,改用下面@Bean来注入Bean

@Configuration
public class LcOpWebMvcConfigurer  extends WebMvcConfigurerAdapter {

    @Bean
    public LcOpPermissionInterceptor lcOpPermissionInterceptor(){
        return new LcOpPermissionInterceptor() ;
    }

原文地址:https://www.cnblogs.com/zhangjianbing/p/11424446.html

时间: 2024-11-02 07:47:51

拦截器报循环依赖错误的相关文章

spring源码编译orm模块报循环依赖错误解决方法

根据别的大神的路线,一步步配置spring源码的时候,编译orm报如下错误: BUILD FAILED in 3s   Circular dependency between the following tasks:   :spring-beans:compileGroovy   \--- :spring-beans:compileJava   \--- :spring-beans:compileKotlin   \--- :spring-beans:compileGroovy (*)    

HandlerExceptionResolver 全局异常拦截器 报错

3-Dec-2017 15:49:09.225 SEVERE [http-nio-80-exec-30] org.apache.catalina.core.StandardWrapperValve.invoke Servlet.service() for servlet [mvc-dispatcher] in context with path [] threw exception [Request processing failed; nested exception is java.lang

Spring Boot 声明式事务结合相关拦截器

我这项目的读写分离方式在使用ThreadLocal实现的读写分离在迁移后的偶发错误里提了,我不再说一次了,这次是有要求读写分离与事务部分要完全脱离配置文件,程序员折腾了很久,于是我就查了一下,由于我还是比较喜欢使用xml的方式,所以就随便...(过程省略吧),然而,似乎是一定要声明式的方式,所以,无奈之下就只好干了. 首先,在之前的博客里提到过,我们的读写分离方式要求我们自己的AOP拦截器必须在事务拦截器之前执行,在配置文件的方式下很容易,在aop的配置里设置一下Order就好了.然而,Spri

Struts2(XWork)拦截器的功能介绍:

  拦截器 名字 说明 Alias Interceptor alias 在不同请求之间将请求参数在不同名字件转换,请求内容不变 Chaining Interceptor chain 让前一个Action的属性可以被后一个Action访问,现在和chain类型的result(<result type="chain">)结合使用. Checkbox Interceptor checkbox 添加了checkbox自动处理代码,将没有选中的checkbox的内容设定为false,

框架 day28 Struts2-封装数据,类型转换,数据校验,国际化,拦截器

封装数据(重要) 1.1普通字段,action属性[★★] *编写表单,提供表单元素,<input name="" /> name的值为普通字符串,及javaweb编写内容. <inputname="userName"> *将name的值当成action属性(property),提供setter方法 publicvoid setUserName(String uesrName){} //用于封装数据 private String userNa

关于声明、定义、前向声明、include、循环依赖、普通友元函数、友元类、友元成员函数的总结

做<C++ Primer>(第5版)253页练习题7.3.4有感,故总结之 1 声明 1.1 变量和函数的声明 常见的声明是声明一个变量或函数,一般在头文件.h中声明,例如: pos cursor = 0; // 给定初始值 char get(pos r, pos col) const; 1.2 类的声明 对于一个类,一般是直接在头文件中直接写 class ClassName { ... },这称之为类的定义,然后在类体{...}中又声明或定义了成员变量和成员函数.类的声明是没有类体,只有个类

Angular4---认证---使用HttpClient拦截器,解决循环依赖引用的问题

在angular4 项目中,每次请求服务端需要添加头部信息AccessToken作为认证的凭据.但如果在每次调用服务端就要写代码添加一个头部信息,会变得很麻烦.可以使用angular4的HttpClient来拦截每个请求,然后在头部添加上信息. 直接上代码实践 一.创建拦截器Service,实现HttpInterceptor的intercept方法 import { Injectable, Injector} from '@angular/core'; import {HttpEvent, Ht

SpringBoot的拦截器中依赖注入报空指针问题

原因:拦截器加载的时间点在springcontext之前,所以在拦截器中注入自然为null : 解决方法:配置拦截器链的类中先注入这个拦截器,示例: @Configuration public class WebConfig extends WebMvcConfigurerAdapter { //注入拦截器类 @Bean public LocaleInterceptor localeInterceptor  () { return new LocaleInterceptor(); } publi

RequireJS 循环依赖报 模块undefined 处理方案

RequireJS 循环依赖 开始学习使用RequireJS之后做了几个小例子,之后想着把手头的项目也用RequireJS写一遍试试.感觉胜利就在前方了,忽然发现始终卡在一个问题上: 很常见的一个问题,根源就是获取不到当前的函数,反复检查了代码,发现并没有异常,纠结许久. 忽然想到之前看API的时候提到的“循环依赖”,当时“循环依赖比较罕见,它也是一个重构代码重新设计的警示灯.”让我直接忽略了这一部分的内容. 循环依赖,指的是两个模块之间相互依赖,即a依赖b,同时b依赖a,那么在这种情况下当b的