The dependencies of some of the beans in the application context form a cycle:
studentController (field private org.example.service.impl.StudentServiceImpl org.example.controller.StudentController.studentService)
↓
studentServiceImpl (field private org.example.mapper.StudentMapper org.example.service.impl.StudentServiceImpl.studentMapper)
↓
studentMapper defined in file [D:\code\springboot-mybatis-plus\target\classes\org\example\mapper\StudentMapper.class]
↓
sqlSessionFactory defined in class path resource [com/baomidou/mybatisplus/autoconfigure/MybatisPlusAutoConfiguration.class]
┌─────┐
| dataSource defined in class path resource [org/springframework/boot/autoconfigure/jdbc/DataSourceConfiguration$Hikari.class]
↑ ↓
| org.springframework.boot.autoconfigure.jdbc.DataSourceInitializerInvoker
解决升级 Spring Boot 2.6后,因循环引用导致启动时报错的问题
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之间的依赖循环。作为最后的手段,可以通过设置spring.main来自动打破循环。allow-circular-references为true。
可以通过在配置文件中配置如下属性以恢复正常
spring.main.allow-circular-references=true