Spring Boot产生环形注入的解决方案
Spring Boot产生环形注入
***************************
APPLICATION FAILED TO START
***************************
Description:
The dependencies of some of the beans in the application context form a cycle:
| MyController (field private com.zhxy.service.AService com.zhxy.controller.MyController.BService)
↑ ↓
| BService
└─────┘
启动spring boot报以上错误
错误产生原因
BService里面注入AService使用,AService里面又注入BService使用
解决方法
在BService的实现类对 AService 加上Spirng的注解 @Lazy
@Autowired @Lazy private AService aService ;
Spring Boot循环注入的坑
一般循环注入的原因是
A依赖注入b,b注入A形成一个闭环,导致spring在创建bean的时候具体不知道先创建哪一个,会抛出bean创建异常
解决办法
将控制台最后打印的bean复制出来,然后全局搜索项目,在所有注入这个bean的地方加上@Lazy注解
以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。
相关文章
Spring/Spring Boot 中优雅地做参数校验拒绝 if/else 参数校验
这篇文章主要介绍了Spring/Spring Boot 中优雅地做参数校验拒绝 if/else 参数校验,本文使用最新的 Spring Boot 版本 2.4.5,通过实例代码给大家介绍的非常详细,需要的朋友可以参考下2021-04-04解决mybatis generator MySQL自增ID出现重复问题MySQLIntegrityC
在MySQL中使用MyBatis时,可能会遇到由于主键重复导致的插入失败问题,此问题通常发生在连续插入多条数据时,如果selectKey的order配置错误,如使用BEFORE而不是AFTER,将会导致获取的ID未更新,引起主键重复错误,正确的配置应使用AFTER2024-10-10关于fastjson的@JSONField注解的一些问题(详解)
下面小编就为大家带来一篇关于fastjson的@JSONField注解的一些问题(详解)。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧2017-02-02
最新评论