spring boot 加载外部filter方式

  • spring boot filter两种配置方式
    • 1、自定义filter配置
    • 2、加载外部jar包配置

spring boot filter两种配置方式

1、自定义filter配置

spring mvc方式filter的配置方式就不用多说了,下面说一下spring boot的方式,由于springboot没有web.xml所以需要新增filter的配置类。下面是一个自定义的filter,实现了每次调用Controller打印自定义的filter的调用时长

import org.springframework.stereotype.Component;import javax.servlet.*;
import java.io.IOException;/*** <br>* 标题: 自定义filter <br>* 描述: <br>** @author shenxiangwei* @time 2019/8/28 5:29 下午*/
@Component
public class TestMyFilter implements Filter {@Overridepublic void init(FilterConfig filterConfig) throws ServletException {System.out.println("我的过滤器初始化");}@Overridepublic void doFilter(ServletRequest servletRequest, ServletResponse servletResponse, FilterChain filterChain) throws IOException, ServletException {Long startTime = System.currentTimeMillis();System.out.println("过滤器开始执行,时间"+System.currentTimeMillis());filterChain.doFilter(servletRequest,servletResponse);Long finishTime  = System.currentTimeMillis();System.out.println("过滤器耗时"+(finishTime-startTime));}@Overridepublic void destroy() {System.out.println("我的过滤器销毁");}
}

只需如上配置便实现了自定义的filter

2、加载外部jar包配置

我们可能会需要外部jar包的filter,把上面的作为jar包依赖到项目中,需要去掉@Component注解,同时在项目中假如配置类,如下:

import org.springframework.boot.web.servlet.FilterRegistrationBean;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;import java.util.ArrayList;
import java.util.List;/*** <br>* 标题: TestMyFilterConfig <br>* 描述: <br>** @author shenxiangwei* @time 2019/8/28 6:17 下午*/
@Configuration
public class TestMyFilterConfig {@Beanpublic FilterRegistrationBean timeFilter(){//创建 过滤器注册beanFilterRegistrationBean registrationBean = new FilterRegistrationBean();TestMyFilter testMyFilter = new TestMyFilter();registrationBean.setFilter(testMyFilter);List urls = new ArrayList();//给所有请求加过滤器urls.add("/*");//设置 有效urlregistrationBean.setUrlPatterns(urls);return registrationBean;}
}

参考:https://www.jianshu.com/p/3960fd97a294?utm_source=oschina-app

spring boot filter配置方式相关推荐

  1. Spring Boot概述与入门特点配置方式注入方式yim配置文件与多文件配置Spring Boot自动配置原理lombok应用

    1. Spring Boot概述 Spring Boot是Spring项目中的一个子工程,与我们所熟知的Spring-framework 同属于spring的产品: 首页Spring Boot简介可以 ...

  2. Spring Boot自动配置原理

    要了解Spring Boot的自动配置首先我需要先了解Spring Boot的两个机制,一个是配置文件如何进入到系统变成属性,二是如何将这些属性加入到容器中. 首先我们需要有一个组件,这个组件中的属性 ...

  3. Spring Boot自动配置原理分析

    一.写在前面 随着时间的迁移Spring Boot 越来越多的出现在Java 后端程序员的视野中,Spring Boot 之所以会那么流行,很大的一个原因是自身集成了很多的Bean,简化了传统Srin ...

  4. Spring Boot 自动配置的 “魔法” 是如何实现的?

    转载自  Spring Boot 自动配置的 "魔法" 是如何实现的? Spring Boot是Spring旗下众多的子项目之一,其理念是约定优于配置,它通过实现了自动配置(大多数 ...

  5. 【Spring Boot实战】源码解析Spring Boot自动配置原理

    一.简介 Spring致力于让Java开发更简单,SpringBoot致力于让使用Spring进行Java开发更简单,SpringCloud致力于基于SpringBoot构建微服务生态圈,让微服务开发 ...

  6. Spring Boot 属性配置和使用

    spring Boot 允许通过外部配置让你在不同的环境使用同一应用程序的代码,简单说就是可以通过配置文件来注入属性或者修改默认的配置. Spring Boot 系列 Spring Boot 入门 S ...

  7. Spring boot的配置类

    @Configuration 指明当前类是一个配置类 来替代之前的Spring配置文件 Spring boot的配置类 相当于Spring的配置文件 容器添加组件 Spring,通过配置文件添加组件 ...

  8. 芋道 Spring Boot 自动配置原理

    转载自  芋道 Spring Boot 自动配置原理 1. 概述 友情提示:因为本文是分享 Spring Boot 自动配置的原理,所以需要胖友有使用过 Spring Boot 的经验.如果还没使用过 ...

  9. Spring Boot——日志配置

    日志,通常不会在需求阶段作为一个功能单独提出来,也不会在产品方案中看到它的细节.但是,这丝毫不影响它在任何一个系统中的重要的地位. 为了保证服务的高可用,发现问题一定要即使,解决问题一定要迅速,所以生 ...

最新文章

  1. python使用matplotlib可视化阶梯图、使用step函数可视化阶梯图、可视化时间序列数据的波动周期和规律
  2. java 输出数据类型_输入输出和java数据类型
  3. NiosII中Flash的使用(转)
  4. C# 正则表达式(备忘录)
  5. Chapter 3 Phenomenon——19
  6. MySQL 错误 1366:1366 Incorrect integer value
  7. Locating Elements(一)
  8. ❤️测试人的曲折职场路:从毕业的5K到20K,四年我换了3份工作…
  9. 快速学计算机的方法,学电脑打字用什么方法学的最快
  10. 也许黎曼猜想是错误的
  11. 任天堂Switch最优DNS测试
  12. 漫步微积分二十二——微分方程和分离变量法
  13. k8s dns 无法解析
  14. android打包发布流程,从源文件到APK-Android打包流程
  15. [python]计算miou的方式
  16. 【PaddleOCR】一、PaddleOCR安装、测试(Win10)
  17. Qt学习之信号与槽函数断开:disconnect
  18. IMAX重开369家中国影院;康希诺辉瑞签署疫苗推广服务协议 | 美通企业日报
  19. 关闭LINUX报警声
  20. arduino烧写报错:can‘t open device “\\.\COM1“

热门文章

  1. 一、为了OFFER系列 | 阿里云天池赛在线编程:移动的圆
  2. 一、Java入门和环境安装
  3. 数据分析案例(贷款风险预测)
  4. 搞科研,从好好读论文开始:沈向洋带你读论文了
  5. 基于知识图谱的行业问答系统搭建分几步?
  6. 重磅新作!预训练语言模型入门必读好书 | 送书福利
  7. 预告 | 旷视天元的前世今生与移动端推理优化@清华专场
  8. 追求极致,饮水思源——记旷视与计算机竞赛的故事
  9. CVPR 2019 | 无监督领域特定单图像去模糊
  10. 爬虫笔记12完结篇实例:股票