在springboot配置shiro时报错:The dependencies of some of the beans in the application context form a cycle

这个问题是因为应用程序上下文中的一些bean的依赖关系形成了一个循环:

方式一:

如果在pom文件中引用的shiro-jar包是:

<dependency>
  <groupId>org.apache.shiro</groupId>
  <artifactId>shiro-spring-boot-web-starter</artifactId>
  <version>1.6.0</version>
</dependency>

换成下面的jar包。如果还没解决,可是使用第二种方式

<dependency>
  <groupId>org.apache.shiro</groupId>
  <artifactId>shiro-spring</artifactId>
  <version>1.7.0</version>
</dependency>

方式二:在配置配中添加:

@Bean
public AuthorizationAttributeSourceAdvisor authorizationAttributeSourceAdvisor(@Qualifier("sm") DefaultWebSecurityManager sm) {
    AuthorizationAttributeSourceAdvisor advisor = new AuthorizationAttributeSourceAdvisor();
    advisor.setSecurityManager(sm);
    return advisor;
}