1. 程式人生 > >springboot中@webfilter註解的filter時注入bean都是null

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