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之间的依赖循环。
"D:Program FilesJavajdk1.8.0_271binjava.exe" -XX:TieredStopAtLevel=1 -noverify -Dspring.output.ansi.enabled=always -Dcom.sun.management.jmxremote -Dspring.jmx.enabled=true -Dspring.liveBeansView.mbeanDomain -Dspring.application.admin.enabled=true "-javaagent:D:Program FilesJetBrainsIntelliJ IDEA 2021.3.1libidea_rt.jar=56325:D:Program FilesJetBrainsIntelliJ IDEA 2021.3.1bin" -Dfile.encoding=UTF-8 -classpath "D:Program FilesJavajdk1.8.0_271jrelibcharsets.jar;D:Program FilesJavajdk1.8.0_271jrelibdeploy.jar;D:Program FilesJavajdk1.8.0_271jrelibextaccess-bridge-64.jar;D:Program FilesJavajdk1.8.0_271jrelibextcldrdata.jar;D:Program FilesJavajdk1.8.0_271jrelibextdnsns.jar;D:Program FilesJavajdk1.8.0_271jrelibextj3dcore.jar;D:Program FilesJavajdk1.8.0_271jrelibextj3dutils.jar;D:Program FilesJavajdk1.8.0_271jrelibextjaccess.jar;D:Program FilesJavajdk1.8.0_271jrelibextjfxrt.jar;D:Program FilesJavajdk1.8.0_271jrelibextlocaledata.jar;D:Program FilesJavajdk1.8.0_271jrelibextnashorn.jar;D:Program FilesJavajdk1.8.0_271jrelibextsunec.jar;D:Program FilesJavajdk1.8.0_271jrelibextsunjce_provider.jar;D:Program FilesJavajdk1.8.0_271jrelibextsunmscapi.jar;D:Program FilesJavajdk1.8.0_271jrelibextsunpkcs11.jar;D:Program FilesJavajdk1.8.0_271jrelibextvecmath.jar;D:Program FilesJavajdk1.8.0_271jrelibextzipfs.jar;D:Program FilesJavajdk1.8.0_271jrelibjavaws.jar;D:Program FilesJavajdk1.8.0_271jrelibjce.jar;D:Program FilesJavajdk1.8.0_271jrelibjfr.jar;D:Program FilesJavajdk1.8.0_271jrelibjfxswt.jar;D:Program FilesJavajdk1.8.0_271jrelibjsse.jar;D:Program FilesJavajdk1.8.0_271jrelibmanagement-agent.jar;D:Program FilesJavajdk1.8.0_271jrelibplugin.jar;D:Program FilesJavajdk1.8.0_271jrelibresources.jar;D:Program FilesJavajdk1.8.0_271jrelibrt.jar;D:workspaceworkspace_idea_20220112Projectsmall-learningtargetclasses;C:Userswin.m2repositoryorgspringframeworkbootspring-boot-starter-web2.6.4spring-boot-starter-web-2.6.4.jar;C:Userswin.m2repositoryorgspringframeworkbootspring-boot-starter2.6.4spring-boot-starter-2.6.4.jar;C:Userswin.m2repositoryorgspringframeworkbootspring-boot2.6.4spring-boot-2.6.4.jar;C:Userswin.m2repositoryorgspringframeworkbootspring-boot-starter-logging2.6.4spring-boot-starter-logging-2.6.4.jar;C:Userswin.m2repositorychqoslogbacklogback-classic1.2.10logback-classic-1.2.10.jar;C:Userswin.m2repositorychqoslogbacklogback-core1.2.10logback-core-1.2.10.jar;C:Userswin.m2repositoryorgapachelogginglog4jlog4j-to-slf4j2.17.1log4j-to-slf4j-2.17.1.jar;C:Userswin.m2repositoryorgapachelogginglog4jlog4j-api2.17.1log4j-api-2.17.1.jar;C:Userswin.m2repositoryorgslf4jjul-to-slf4j1.7.36jul-to-slf4j-1.7.36.jar;C:Userswin.m2repositoryjakartaannotationjakarta.annotation-api1.3.5jakarta.annotation-api-1.3.5.jar;C:Userswin.m2repositoryorgyamlsnakeyaml1.29snakeyaml-1.29.jar;C:Userswin.m2repositoryorgspringframeworkbootspring-boot-starter-json2.6.4spring-boot-starter-json-2.6.4.jar;C:Userswin.m2repositorycomfasterxmljacksoncorejackson-databind2.13.1jackson-databind-2.13.1.jar;C:Userswin.m2repositorycomfasterxmljacksoncorejackson-annotations2.13.1jackson-annotations-2.13.1.jar;C:Userswin.m2repositorycomfasterxmljacksoncorejackson-core2.13.1jackson-core-2.13.1.jar;C:Userswin.m2repositorycomfasterxmljacksondatatypejackson-datatype-jdk82.13.1jackson-datatype-jdk8-2.13.1.jar;C:Userswin.m2repositorycomfasterxmljacksondatatypejackson-datatype-jsr3102.13.1jackson-datatype-jsr310-2.13.1.jar;C:Userswin.m2repositorycomfasterxmljacksonmodulejackson-module-parameter-names2.13.1jackson-module-parameter-names-2.13.1.jar;C:Userswin.m2repositoryorgspringframeworkbootspring-boot-starter-tomcat2.6.4spring-boot-starter-tomcat-2.6.4.jar;C:Userswin.m2repositoryorgapachetomcatembedtomcat-embed-core9.0.58tomcat-embed-core-9.0.58.jar;C:Userswin.m2repositoryorgapachetomcatembedtomcat-embed-el9.0.58tomcat-embed-el-9.0.58.jar;C:Userswin.m2repositoryorgapachetomcatembedtomcat-embed-websocket9.0.58tomcat-embed-websocket-9.0.58.jar;C:Userswin.m2repositoryorgspringframeworkspring-web5.3.16spring-web-5.3.16.jar;C:Userswin.m2repositoryorgspringframeworkspring-beans5.3.16spring-beans-5.3.16.jar;C:Userswin.m2repositoryorgspringframeworkspring-webmvc5.3.16spring-webmvc-5.3.16.jar;C:Userswin.m2repositoryorgspringframeworkspring-context5.3.16spring-context-5.3.16.jar;C:Userswin.m2repositoryorgspringframeworkspring-expression5.3.16spring-expression-5.3.16.jar;C:Userswin.m2repositoryorgspringframeworkbootspring-boot-starter-actuator2.6.4spring-boot-starter-actuator-2.6.4.jar;C:Userswin.m2repositoryorgspringframeworkbootspring-boot-actuator-autoconfigure2.6.4spring-boot-actuator-autoconfigure-2.6.4.jar;C:Userswin.m2repositoryorgspringframeworkbootspring-boot-actuator2.6.4spring-boot-actuator-2.6.4.jar;C:Userswin.m2repositoryiomicrometermicrometer-core1.8.3micrometer-core-1.8.3.jar;C:Userswin.m2repositoryorghdrhistogramHdrHistogram2.1.12HdrHistogram-2.1.12.jar;C:Userswin.m2repositoryorglatencyutilsLatencyUtils2.0.3LatencyUtils-2.0.3.jar;C:Userswin.m2repositoryorgspringframeworkbootspring-boot-starter-aop2.6.4spring-boot-starter-aop-2.6.4.jar;C:Userswin.m2repositoryorgspringframeworkspring-aop5.3.16spring-aop-5.3.16.jar;C:Userswin.m2repositoryorgaspectjaspectjweaver1.9.7aspectjweaver-1.9.7.jar;C:Userswin.m2repositoryorgspringframeworkspring-core5.3.16spring-core-5.3.16.jar;C:Userswin.m2repositoryorgspringframeworkspring-jcl5.3.16spring-jcl-5.3.16.jar;C:Userswin.m2repositorycomgithubpagehelperpagehelper-spring-boot-starter1.2.10pagehelper-spring-boot-starter-1.2.10.jar;C:Userswin.m2repositoryorgmybatisspringbootmybatis-spring-boot-starter1.3.2mybatis-spring-boot-starter-1.3.2.jar;C:Userswin.m2repositoryorgspringframeworkbootspring-boot-starter-jdbc2.6.4spring-boot-starter-jdbc-2.6.4.jar;C:Userswin.m2repositorycomzaxxerHikariCP4.0.3HikariCP-4.0.3.jar;C:Userswin.m2repositoryorgspringframeworkspring-jdbc5.3.16spring-jdbc-5.3.16.jar;C:Userswin.m2repositoryorgspringframeworkspring-tx5.3.16spring-tx-5.3.16.jar;C:Userswin.m2repositoryorgmybatisspringbootmybatis-spring-boot-autoconfigure1.3.2mybatis-spring-boot-autoconfigure-1.3.2.jar;C:Userswin.m2repositoryorgmybatismybatis3.4.6mybatis-3.4.6.jar;C:Userswin.m2repositoryorgmybatismybatis-spring1.3.2mybatis-spring-1.3.2.jar;C:Userswin.m2repositorycomgithubpagehelperpagehelper-spring-boot-autoconfigure1.2.10pagehelper-spring-boot-autoconfigure-1.2.10.jar;C:Userswin.m2repositorycomgithubpagehelperpagehelper5.1.8pagehelper-5.1.8.jar;C:Userswin.m2repositorycomgithubjsqlparserjsqlparser1.2jsqlparser-1.2.jar;C:Userswin.m2repositorycomalibabadruid-spring-boot-starter1.1.10druid-spring-boot-starter-1.1.10.jar;C:Userswin.m2repositorycomalibabadruid1.1.10druid-1.1.10.jar;C:Userswin.m2repositoryorgslf4jslf4j-api1.7.36slf4j-api-1.7.36.jar;C:Userswin.m2repositoryorgspringframeworkbootspring-boot-autoconfigure2.6.4spring-boot-autoconfigure-2.6.4.jar;C:Userswin.m2repositoryorgmybatisgeneratormybatis-generator-core1.3.7mybatis-generator-core-1.3.7.jar;C:Userswin.m2repositorymysqlmysql-connector-java8.0.15mysql-connector-java-8.0.15.jar" com.macro.mall.tiny.MallLearningApplication
. ____ _ __ _ _
/\ / ___'_ __ _ _(_)_ __ __ _
( ( )___ | '_ | '_| | '_ / _` |
\/ ___)| |_)| | | | | || (_| | ) ) ) )
' |____| .__|_| |_|_| |___, | / / / /
=========|_|==============|___/=/_/_/_/
:: Spring Boot :: (v2.6.4)
2022-03-05 21:20:04.082 INFO 56372 --- [ main] c.m.mall.tiny.MallLearningApplication : Starting MallLearningApplication using Java 1.8.0_271 on LAPTOP-RGBE7K1S with PID 56372 (D:workspaceworkspace_idea_20220112Projectsmall-learningtargetclasses started by win in D:workspaceworkspace_idea_20220112Projectsmall-learning)
2022-03-05 21:20:04.082 INFO 56372 --- [ main] c.m.mall.tiny.MallLearningApplication : No active profile set, falling back to 1 default profile: "default"
2022-03-05 21:20:05.524 INFO 56372 --- [ main] o.s.b.w.embedded.tomcat.TomcatWebServer : Tomcat initialized with port(s): 8080 (http)
2022-03-05 21:20:05.540 INFO 56372 --- [ main] o.apache.catalina.core.StandardService : Starting service [Tomcat]
2022-03-05 21:20:05.540 INFO 56372 --- [ main] org.apache.catalina.core.StandardEngine : Starting Servlet engine: [Apache Tomcat/9.0.58]
2022-03-05 21:20:05.732 INFO 56372 --- [ main] o.a.c.c.C.[Tomcat].[localhost].[/] : Initializing Spring embedded WebApplicationContext
2022-03-05 21:20:05.732 INFO 56372 --- [ main] w.s.c.ServletWebServerApplicationContext : Root WebApplicationContext: initialization completed in 1603 ms
2022-03-05 21:20:05.942 INFO 56372 --- [ main] c.a.d.s.b.a.DruidDataSourceAutoConfigure : Init DruidDataSource
2022-03-05 21:20:06.082 INFO 56372 --- [ main] com.alibaba.druid.pool.DruidDataSource : {dataSource-1} inited
2022-03-05 21:20:06.854 WARN 56372 --- [ main] ConfigServletWebServerApplicationContext : Exception encountered during context initialization - cancelling refresh attempt: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'com.github.pagehelper.autoconfigure.PageHelperAutoConfiguration': Invocation of init method failed; nested exception is org.springframework.beans.factory.BeanCurrentlyInCreationException: Error creating bean with name 'com.github.pagehelper.autoconfigure.PageHelperAutoConfiguration': Requested bean is currently in creation: Is there an unresolvable circular reference?
2022-03-05 21:20:06.854 INFO 56372 --- [ main] com.alibaba.druid.pool.DruidDataSource : {dataSource-1} closed
2022-03-05 21:20:06.854 INFO 56372 --- [ main] o.apache.catalina.core.StandardService : Stopping service [Tomcat]
2022-03-05 21:20:06.869 INFO 56372 --- [ main] ConditionevaluationReportLoggingListener :
Error starting ApplicationContext. To display the conditions report re-run your application with 'debug' enabled.
2022-03-05 21:20:06.885 ERROR 56372 --- [ main] o.s.b.d.LoggingFailureAnalysisReporter :
***************************
APPLICATION FAILED TO START
***************************
Description:
The dependencies of some of the beans in the application context form a cycle:
┌──->──┐
| com.github.pagehelper.autoconfigure.PageHelperAutoConfiguration
└──<-──┘
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.
Process finished with exit code 1
原pom.xml代码
原因与解决方案4.0.0 org.springframework.boot spring-boot-starter-parent 2.6.4 com.macro.mall mall-learning 0.0.1-SNAPSHOT mall-learning mall-learning 1.8 com.github.pagehelper pagehelper-spring-boot-starter 1.2.10 org.springframework.boot spring-boot-maven-plugin
因为spring-boot2.5之后的版本解决了循环依赖的问题,相应的依赖插件必须更新到最新不存在循环依赖的代码版本,否则启动springboot就会报错。
因此如果使用的不是com.github.pagehelper的1.4.1之后的版本,就会报错。虽然也可以在配置文件中设置允许循环引用,但既然默认是不允许循环引用还是不改动为好。
解决方案:将com.github.pagehelper版本改为1.4.1
改动后的代码org.springframework.boot spring-boot-starter-parent 2.6.4 com.macro.mall mall-learning 0.0.1-SNAPSHOT mall-learning mall-learning 1.8 com.github.pagehelper pagehelper-spring-boot-starter 1.4.1
成功解决!



