第一种配置filter顺序
@Configuration
public class ComponentFilterOrderConfig {
@Bean // 将自定义filter注册为bean
public Filter MyFilter1(){
return new MyFilter1();//自定义的过滤器
}
@Bean // 将自定义filter注册为bean
public Filter MyFilter2(){
return new MyFilter2();//自定义的过滤器
}
@Bean
public FilterRegistrationBean filterRegistrationBean1(){
FilterRegistrationBean filterRegistrationBean=new FilterRegistrationBean();
filterRegistrationBean.setFilter(MyFilter1());
filterRegistrationBean.addUrlPatterns("/app/approval/*");
filterRegistrationBean.setOrder(6);//order的数值越小 则优先级越高
return filterRegistrationBean;
}
@Bean
public FilterRegistrationBean filterRegistrationBean2(){
FilterRegistrationBean filterRegistrationBean=new FilterRegistrationBean();
filterRegistrationBean.setFilter(MyFilter2());
filterRegistrationBean.addUrlPatterns("/app/*");
filterRegistrationBean.setOrder(7);
return filterRegistrationBean;
}
}
第二种配置filter顺序
@Bean
@Order(Integer.MAX_VALUE)
public FilterRegistrationBean someFilterRegistration() {
FilterRegistrationBean registration = new FilterRegistrationBean();
registration.setFilter(sessionFilter());
registration.addUrlPatterns("/*");
registration.addInitParameter("paramName", "paramValue");
registration.setName("sessionFilter");
return registration;
}
文章连接:
springboot之多个filter的执行顺序以及配置
spring boot filter 配置多个时,执行顺序