Spring Boot 之FilterRegistrationBean --支持web Filter 排序的使用
来源:互联网 发布:一分钱拼团靠谱的软件 编辑:程序博客网 时间:2024/04/30 01:03
Spring Boot 之FilterRegistrationBean --支持web Filter 排序的使用
Spring 提供了FilterRegistrationBean类,此类提供setOrder方法,可以为filter设置排序值,
让spring在注册web filter之前排序后再依次注册。
写一个普通的filter:
package com.sdcuike.practice.web2;import java.io.IOException;import javax.annotation.Resource;import javax.servlet.Filter;import javax.servlet.FilterChain;import javax.servlet.FilterConfig;import javax.servlet.ServletException;import javax.servlet.ServletRequest;import javax.servlet.ServletResponse;import org.slf4j.Logger;import org.slf4j.LoggerFactory;import com.sdcuike.practice.config.CommonConfig;public class FilterDemo3 implements Filter { private final Logger log = LoggerFactory.getLogger(getClass()); @Resource private CommonConfig commonConfig; @Override public void destroy() { log.info("" + getClass() + " destroy"); } @Override public void doFilter(ServletRequest arg0, ServletResponse arg1, FilterChain arg2) throws IOException, ServletException { log.info("" + getClass() + " doFilter " + commonConfig); arg2.doFilter(arg0, arg1); } @Override public void init(FilterConfig arg0) throws ServletException { log.info("" + getClass() + " init"); }}
配置如下:
package com.sdcuike.practice.web2;import javax.servlet.Filter;import org.springframework.boot.web.servlet.FilterRegistrationBean;import org.springframework.context.annotation.Bean;import org.springframework.context.annotation.Configuration;import com.sdcuike.spring.extend.web.MvcConfigurerAdapter;/** * web 组件配置 * * @author sdcuike * <p> * Created on 2017-02-10 * <p> * 自定义注入,并支持依赖注入,组件排序 */@Configurationpublic class WebComponent2Config { @Bean public FilterRegistrationBean filterDemo3Registration() { FilterRegistrationBean registration = new FilterRegistrationBean(); registration.setFilter(filterDemo3()); registration.addUrlPatterns("/*"); registration.addInitParameter("paramName", "paramValue"); registration.setName("filterDemo3"); registration.setOrder(6); return registration; } @Bean public FilterRegistrationBean filterDemo4Registration() { FilterRegistrationBean registration = new FilterRegistrationBean(); registration.setFilter(filterDemo4()); registration.addUrlPatterns("/*"); registration.addInitParameter("paramName", "paramValue"); registration.setName("filterDemo4"); registration.setOrder(7); return registration; } @Bean public Filter filterDemo3() { return new FilterDemo3(); } @Bean public Filter filterDemo4() { return new FilterDemo4(); }}
利用这种方式,我们可以对filter排序,可自行测试,源码:
https://github.com/sdcuike/spring-boot-practice/tree/master/src/main/java/com/sdcuike/practice/web2
<spring-boot.version>1.5.1.RELEASE</spring-boot.version>
1 0
- Spring Boot 之FilterRegistrationBean --支持web Filter 排序的使用
- Spring Boot 之FilterRegistrationBean --支持web Filter 排序的使用
- Spring Boot 之web Filter --支持排序的使用扩展
- Spring Boot 之web Filter --不支持排序的使用
- spring boot web filter的使用
- spring-boot使用Filter
- Spring Boot对Web开发的支持
- 使用Spring Boot开发Web项目(二)之添加HTTPS支持
- 使用Spring Boot开发Web项目(二)之添加HTTPS支持
- 使用Spring Boot开发Web项目(二)之添加HTTPS支持
- 使用Spring Boot开发Web项目(二)之添加HTTPS支持
- 使用Spring Boot开发Web项目(二)之添加HTTPS支持
- SpringBoot16-springboot的Web开发-Spring Boot的Thymeleaf支持
- spring web.xml之filter
- spring boot-使用Filter实现Header认证
- Spring Boot实战之Filter实现使用JWT进行接口认证 jwt(json web token) 用户发送按照约定,向服务端发送 Header、Payload 和 Signature,
- 10.8、spring boot的web应用——servlet、listener、filter的应用
- spring boot 之web浅谈
- ubuntu设置超级用户的密码
- mac80211解析四
- 影响Redis性能的因素
- js实现手机端图片双指缩放变大变小插件
- 本体概述
- Spring Boot 之FilterRegistrationBean --支持web Filter 排序的使用
- 【lintcode笔记】两数组的交
- 整理ImageNet Classification with Deep Convolutional Neural Networks中的要点
- 深度学习读书笔记:DeepLearningBook - Chapter 9 - Conventional Networks
- A cycle was detected in the build path of project
- AFNetworking的原理与基本使用
- block、inline、inline-block对比
- 03动态规划-03maximal-square
- charles实现http与https抓包