我是靠谱客的博主 潇洒哈密瓜,最近开发中收集的这篇文章主要介绍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 Boot产生环形注入的解决方案的全部内容,希望文章能够帮你解决Spring Boot产生环形注入的解决方案所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(109)

评论列表共有 0 条评论

立即
投稿
返回
顶部