服务器之家:专注于服务器技术及软件下载分享
分类导航

PHP教程|ASP.NET教程|Java教程|ASP教程|编程技术|正则表达式|C/C++|IOS|C#|Swift|Android|VB|R语言|JavaScript|易语言|vb.net|

服务器之家 - 编程语言 - Java教程 - Spring Boot产生环形注入的解决方案

Spring Boot产生环形注入的解决方案

2022-01-21 00:54a_a Java教程

这篇文章主要介绍了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

?
1
2
3
@Autowired
@Lazy
private AService aService ;

Spring Boot循环注入的坑

一般循环注入的原因是

A依赖注入b,b注入A形成一个闭环,导致spring在创建bean的时候具体不知道先创建哪一个,会抛出bean创建异常

解决办法

将控制台最后打印的bean复制出来,然后全局搜索项目,在所有注入这个bean的地方加上@Lazy注解

以上为个人经验,希望能给大家一个参考,也希望大家多多支持服务器之家。

原文链接:https://blog.csdn.net/jie873440996/article/details/80359737

延伸 · 阅读

精彩推荐