项目报错This is often the result of over-eager type matching


  今天启动项目时报错:org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'colorController': Unsatisfied dependency expressed through field 'jobService'; nested exception is org.springframework.beans.factory.BeanCurrentlyInCreationException: Error creating bean with name 'jobService': Bean with name 'jobService' has been injected into other beans [ProcessService,ProcessManualService] in its raw version as part of a circular reference, but has eventually been wrapped. This means that said other beans do not use the final version of the bean. This is often the result of over-eager type matching - consider using 'getBeanNamesForType' with the 'allowEagerInit' flag turned off, for example.

首先控制台是从一个controller报出的错

 跟踪发现

 于是去jobService中看看

 然后到这两个service中再看看,结果发现

构成了循环引用,去掉没有使用的引用,问题解决!

当然,如果你的系统过于庞大,不好找哪里构成了循环引用,可以使用spring提供的bean懒加载解决:

@Autowired
@Lazy
private ClassA classA;
@Autowired
@Lazy
private ClassB classB;

不过解决循环依赖,当然最好的方法是重构你的代码,进行解耦。


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM