因为spring-boot2.5之后的版本解决了循环依赖的问题,相应的依赖插件必须更新到最新不存在循环依赖的代码版本,否则启动springboot就会报错,如以下:

<parent>
		<groupId>org.springframework.boot</groupId>
		<artifactId>spring-boot-starter-parent</artifactId>
		<version>2.6.2</version>
		<relativePath/> <!-- lookup parent from repository -->
</parent>
	<properties>
		<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
		<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
		<java.version>17</java.version>
		<shiro.version>1.3.1</shiro.version>
	</properties>

<dependencies>
<dependency>
			<groupId>com.github.pagehelper</groupId>
			<artifactId>pagehelper-spring-boot-starter</artifactId>
			<version>1.4.1</version> <!--必须是这个版本,其他版本有相互依赖的类,例如A类依赖B类,B类又引用了A类 -->
		</dependency>
</dependencies>

如果使用的不是com.github.pagehelper的1.4.1版本,即使同年 的1.4.0版本启动都会报错,报错信息如下:

Action:

Relying upon circular references is discouraged and they are prohibited by default. Update your application to remove the dependency cycle between beans. As a last resort, it may be possible to break the cycle automatically by setting spring.main.allow-circular-references to true.

不鼓励依赖循环引用,默认情况下禁止使用循环引用。更新应用程序以删除bean之间的依赖循环。作为最后一种手段,可能通过设置弹簧来自动中断循环。主要的允许循环引用为true。

虽然也可以在配置文件中设置允许循环引用,但既然默认是不允许循环引用还是不改动为好

Logo

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。

更多推荐