国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發設計 > 正文

Spring Boot 之FilterRegistrationBean --支持web Filter 排序的使用

2019-11-08 01:33:25
字體:
來源:轉載
供稿:網友

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>
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 安康市| 龙里县| 青田县| 新蔡县| 阳泉市| 梓潼县| 湾仔区| 西乌珠穆沁旗| 大竹县| 当阳市| 鹤岗市| 苗栗市| 云和县| 兴仁县| 尚志市| 庆元县| 敦化市| 临海市| 泰宁县| 潜山县| 延川县| 通渭县| 吴旗县| 慈溪市| 花莲市| 衡阳县| 奈曼旗| 璧山县| 陵川县| 商水县| 清镇市| 滦南县| 凤台县| 华安县| 驻马店市| 茌平县| 滨海县| 新营市| 孝昌县| 大化| 闸北区|