Spring boot 配置Filter过滤器
1.通过@WebFilter注解来配置
@Component
@WebFilter(urlPatterns = "/webapi/*", filterName = "authFilter")
public class AuthFilter implements Filter {
......
}
2.通过@Bean注解来注册过滤器
注意:这个要写在带 @SpringBootApplication注解配置类里
@Bean
public FilterRegistrationBean testFilterRegistration() {
FilterRegistrationBean registration = new FilterRegistrationBean(new TestFilter());
registration.addUrlPatterns("/webapi/*"); //
registration.addInitParameter("paramName", "paramValue"); //
registration.setName("testFilter");
return registration;
}
配置多个过滤器,再@springbootApplication配置类里依次注册。
使用registration.setOrder(1)排序
@Bean
public FilterRegistrationBean testFilterRegistration() {
FilterRegistrationBean registration = new FilterRegistrationBean(new TestFilter());
registration.addUrlPatterns("/webapi/*"); //
registration.addInitParameter("paramName", "paramValue"); //
registration.setName("testFilter");
registration.setOrder(1);
return registration;
}
@Bean
public FilterRegistrationBean authFilterRegistration() {
FilterRegistrationBean registration = new FilterRegistrationBean(new AuthFilter());
registration.addUrlPatterns("/webapi/*"); //
registration.addInitParameter("paramName", "paramValue"); //
registration.setName("authFilter");
registration.setOrder(2);
return registration;
}