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