springboot中@webfilter注解的filter时注入bean都是null


在使用@Webfilter注解Filter的情况下,不上外部tomcat时是没有问题的。但是在tomcat下运行时,filter中注入的bean就都是null

解决办法:

一:去掉@Webfilter注解

public class GeneralFilter implements Filter {

    
    @Autowired
    private SettingRemote settingRemote; //注入
    
    ....

}

 二: 新增一个配置类,用来手工创建filter的bean

@Configuration
public class WebMvcConfig implements WebMvcConfigurer {

    @Bean
    public Filter generalFilter() {
        return new GeneralFilter();
    }

    @Bean
    public FilterRegistrationBean uploadFilterRegistration() {
        FilterRegistrationBean registration = new FilterRegistrationBean();
        registration.setFilter(new DelegatingFilterProxy("generalFilter"));
        registration.addUrlPatterns("/*");
        registration.setName("generalFilter");
        registration.setOrder(1);
        return registration;
    }
}

之后注入的业务bean就不会是null

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM