之前不会报循环依赖的报循环依赖
时间: 2023-12-14 10:04:09 浏览: 48
循环依赖是指在程序中存在两个或多个类之间相互依赖的情况,形成一个循环的依赖链。当程序启动时,Spring Context加载所有的Bean时,会尝试按照它们的工作顺序创建Bean。在没有循环依赖的情况下,这个过程是正常的。但是当存在循环依赖时,就会出现问题。
循环依赖通常发生在使用构造函数注入的情况下,其他注入方式不会出现这个问题,因为其他方式会在程序使用到这个依赖时才会注入,而不是在Spring Context加载阶段发生。
解决循环依赖问题的方法有多种。一种方法是重新设计你的程序,确保分层问题得到正确处理。另一种常用的解决方案是使用@Lazy注解。你可以将@Lazy注解标记在构造函数的参数内,这样Spring会懒惰地初始化这个Bean,即给这个Bean创建一个代理,只有在真正使用到这个Bean时才会完全创建。
所以,如果之前没有报循环依赖的错误,可能是因为之前的代码没有出现循环依赖的情况。但是如果现在出现了循环依赖的错误,你可以尝试重新设计你的程序或者使用@Lazy注解来解决这个问题。
#### 引用[.reference_title]
- *1* *2* *3* [spring boot 运行、打包报循环依赖错误异常](https://blog.csdn.net/GAOXINXINGgaoxinxing/article/details/97640441)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item]
[ .reference_list ]