问题遇到的现象和发生背景
Spring与shiro-spring-boot-starter存在冲突问题
问题相关代码
Spring 版本皆为2.6.7
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-jpa</artifactId>
<version>${spring-boot-jpa.version}</version>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
<version>${spring-boot.version}</version>
</dependency>
<dependency>
<groupId>org.apache.shiro</groupId>
<artifactId>shiro-spring-boot-starter</artifactId>
<version>${shiro.verison}</version>
</dependency>
运行结果及报错内容
shiro版本为1.4时
代码抛出,类缺失
Caused by: java.lang.ClassNotFoundException: org.springframework.boot.bind.RelaxedDataBinder
shiro版本为1.5-1.9版本时
代码抛出,循环依赖问题,百度了很久,没找到相似环境的情况
The dependencies of some of the beans in the application context form a cycle:
org.springframework.boot.autoconfigure.orm.jpa.HibernateJpaConfiguration
┌─────┐
| dataSource defined in class path resource [org/springframework/boot/autoconfigure/jdbc/DataSourceConfiguration$Hikari.class]
↑ ↓
| org.springframework.boot.autoconfigure.jdbc.DataSourceInitializerInvoker
└─────┘