springboot工程启动时,报错:No bean named 'shiroFilter' available

时间:2023-11-22 10:51:32

在启动Springboot项目时,报错:org.springframework.beans.factory.NoSuchBeanDefinitionException: No bean named 'shiroFilter' available

第一反应是shiroFilter拼写错了。于是检查相关代码:

1、注入过滤器的代码

registration.setFilter(new DelegatingFilterProxy("shiroFilter"));

2、自动注册Bean的代码

    @Bean("shiroFilter")
public ShiroFilterFactoryBean shiroFilter(SecurityManager securityManager) {
ShiroFilterFactoryBean shiroFilter = new ShiroFilterFactoryBean();

发现两个类中shiroFilter的拼写都没有问题。

然后开始debug断点调试。发现代码根本就没有进入自动注册的Bean的代码中。与是检查ShiroConfig的代码,发现类上边少写了@Configuration,好尴尬啊!~