springboot项目之相互依赖报错问题(基于idea)

 更新时间:2022年02月26日 09:52:54   作者:Paroxetiner  
这篇文章主要介绍了springboot项目之相互依赖报错问题(基于idea),具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教

springboot相互依赖报错

昨天在辛劳的进行代码搬运工作的时候,发现springboot项目的一个新建模块中service层的各个注解都变成了黑色,正常情况下应该是黄色的。

我觉得可能是一些springboot的相关组件没有引入pom文件

所以我对照着原来的模块直接复制了一些依赖

就出现了一个新大陆的报错

 Error:java: Annotation processing is not supported for module cycles. Please ensure that all modules from cycle [core,dao,service] are excluded from annotation processing .

经过反复咀嚼各大网站大佬的不食烟火的回答

我确定了

这,就是一个叫做“相互依赖”的错误,称之为依赖死循环

解决方法

打开相互依赖的模块的pom,删掉其中一个对另一个的依赖就行了

那怎么更明确的知道是哪几个模块相互依赖了呢

1.

然后看到右边有红色的包依赖报错

2.红色框的就是两个模块之间互相依赖 、处理模块之间的依赖关系(模块之间不能有依赖)

3.右键不想不依赖的包选中open module setting这个选项

springboot项目处理循环依赖问题(circular reference)

springBoot启动失败,报错BeanCurrentlyInCreationException

org.springframework.beans.factory.BeanCurrentlyInCreationException:
Error creating bean with name 'AxxxxService': 
Bean with name 'BxxxxService' 
has been injected into other beans [CxxxxService] 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 'getBeanNamesOfType' with the 'allowEagerInit' flag turned off, for example. 

解决方法

  • 找到中括号中的Service: CxxxxService
  • 在CxxxxService中找到 BxxxxService(离得最近的,如果看不懂英文的话)的声明
  • 在BxxxService的声明上加注解 @Lazy
  • 注: 如果中括号中不止一个CxxxxService,每个都要这样做,加上@Lazy

悔恨

  • 我没有一开始就百度,解决方案,而是自以为是地组装新的Service类
  • 今天遇到一个中括号里有多个类的,要改的多了,就搜索一下人家的解决方案,流下了悔恨的眼泪
  • 现在才把代码调整回去了,已经晚上10点多了
  • 本来想试试revert, 过去太久,太多commit了,害怕了,退缩了

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

相关文章

  • Java多线程实现多人聊天室功能

    Java多线程实现多人聊天室功能

    这篇文章主要为大家详细介绍了Java多线程实现多人聊天室功能,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2021-06-06
  • SpringBoot+WebSocket实现即时通讯功能(Spring方式)

    SpringBoot+WebSocket实现即时通讯功能(Spring方式)

    今天给大家分享一个SpringBoot+WebSocket实现即时通讯功能(Spring方式),WebSocket是一种在单个TCP连接上进行全双工通信的协议,文章通过代码示例给大家介绍的非常详细,需要的朋友可以参考下
    2023-10-10
  • Java数据结构学习之树

    Java数据结构学习之树

    这篇文章主要介绍了Java数据结构学习之树,文中有非常详细的代码示例,对正在学习java数据结构的小伙伴们有非常好的帮助,需要的朋友可以参考下
    2021-05-05
  • 深入理解Java中1是true0是false

    深入理解Java中1是true0是false

    Java中,1可以被看作是true,0可以被看作是false,本文就来进行详细的讲解,具有一定的参考价值,感兴趣的可以了解一下
    2024-02-02
  • Java8新特性stream和parallelStream区别

    Java8新特性stream和parallelStream区别

    这篇文章主要介绍了Java8新特性stream和parallelStream区别,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-11-11
  • Mybatis给数据库敏感字段加解密详解

    Mybatis给数据库敏感字段加解密详解

    这篇文章主要介绍了Mybatis给数据库敏感字段加解密详解,为了保护数据库敏感字段数据安全,有时候我们需要将敏感数据加密入库,查询时再解密成明文,我们可以利用Mybatis自定义TypeHandler来处理,需要的朋友可以参考下
    2023-11-11
  • 详解eclipse项目中.classpath文件的使用

    详解eclipse项目中.classpath文件的使用

    这篇文章主要介绍了详解eclipse项目中.classpath文件的使用,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-10-10
  • 详解Spring Boot Mysql 版本驱动连接池方案选择

    详解Spring Boot Mysql 版本驱动连接池方案选择

    这篇文章主要介绍了详解Spring Boot Mysql 版本驱动连接池方案选择,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-08-08
  • Eureka源码解析服务离线状态变更

    Eureka源码解析服务离线状态变更

    这篇文章主要为大家介绍了Eureka源码解析服务离线的状态变更示例,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2022-10-10
  • 解决SpringMVC同时接收Json和Restful时Request里有Map的问题

    解决SpringMVC同时接收Json和Restful时Request里有Map的问题

    今天小编就为大家分享一篇解决SpringMVC同时接收Json和Restful时Request里有Map的问题,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2018-08-08

最新评论