两种方式 一种注解方式,一种配置类方式。
配置类FilterConfig
@Configuration
public class FilterConfig {
@Bean
public Filter demoFilter(){
return new DemoFilter();
}
@Bean
public FilterRegistrationBean filterRegistrationBean1() {
FilterRegistrationBean filterRegistrationBean = new FilterRegistrationBean();
filterRegistrationBean.setFilter(demoFilter());
filterRegistrationBean.addUrlPatterns("/*");
filterRegistrationBean.setOrder(1);
filterRegistrationBean.setName("demoFilter");
return filterRegistrationBean;
}
}
过滤器类
@Slf4j
public class DemoFilter implements Filter {
@Override
public void init(FilterConfig filterConfig) throws ServletException {
log.info("过滤器初始化{}",filterConfig);
}
@Override
public void doFilter(ServletRequest servletRequest, ServletResponse servletResponse, FilterChain filterChain) throws IOException, ServletException {
log.info("过滤器");
filterChain.doFilter(servletRequest,servletResponse);
}
@Override
public void destroy() {
log.info("过滤器销毁");
}
}