资讯专栏INFORMATION COLUMN

Spring boot中如何定义过滤器Filter

刘厚水 / 3034人阅读

摘要:在这里总结一下自己发现的基于的注解定义其中和是定义的简单的打印字符串过滤器。在中,声明注解相当于在老版本中在配置文件中声明一个。在这里展示了两种过滤器声明方式,第一种利用可以详细地更好地详细的定义过滤器。

最近刚刚接手使用spring boot,真是一个开发很顺手的工具。在这里总结一下自己发现的基于@Configuration的注解定义

package example.hello;

import org.springframework.boot.context.embedded.FilterRegistrationBean;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;

import java.util.ArrayList;
import java.util.List;

@Configuration
public class WebConfig {

    @Bean
    public FilterRegistrationBean greetingFilterRegistrationBean() {
        FilterRegistrationBean registrationBean = new FilterRegistrationBean();
        registrationBean.setName("greeting");
        GreetingFilter greetingFilter = new GreetingFilter();
        registrationBean.setFilter(greetingFilter);
        registrationBean.setOrder(1);
        List urlList = new ArrayList();
        urlList.add("/abc");
        registrationBean.setUrlPatterns(urlList);
        return registrationBean;
    }

    @Bean
    public FilterRegistrationBean helloFilterRegistrationBean() {
        FilterRegistrationBean registrationBean = new FilterRegistrationBean();
        registrationBean.setName("hello");
        HelloFilter helloFilter = new HelloFilter();
        registrationBean.setFilter(helloFilter);
        registrationBean.setOrder(2);
        return registrationBean;
    }

    /*
    @Bean
    @Order(1)
    Filter greetingFilter() {
        return new GreetingFilter();
    }

    @Bean
    @Order(2)
    public Filter helloFilter() {
        return new HelloFilter();
    }*/

}

其中GreetingFilterHelloFiter是定义的简单的打印字符串过滤器。在@Configuration中,声明注解@Bean相当于在Spring老版本中在配置文件中声明一个Bean。

在这里展示了两种过滤器声明方式,第一种利用FilterRegistrationBean可以详细地更好地详细的定义过滤器。第二种注释掉的,声明方式更简单,代码更加简洁。

在这里也咨询大家一个问题,用第二种方式如何声明UrlPattern呢,貌似没有相关的注解

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/64899.html

相关文章

  • Spring Cloud Gateway自定义Token校验滤器

    摘要:自定义校验全局过滤器如何应用呢只需要添加注解,不需要进行任何额外的配置,实现接口,自动会对所有的路由起作用总结由于刚接触,有些地方也不是特别熟悉,上面的示例代码仅仅作为参考,如果有错误的地方,还望指正。 一切的业务开发都是基于需求的,首先看看需求: 对访问网关的请求进行token校验,只有当token校验通过时,才转发到后端服务,否则直接返回401 本文给出的示例代码适用场景: tok...

    2450184176 评论0 收藏0
  • API数据加密框架monkey-api-encrypt

    摘要:相比之前的变化内置加密算法,可以配置不同的加密不再绑定,通过配置即可使用加解密框架也可以支持支持用户自定义加密算法地址示例代码没有发布到中央仓库,只发布到这个仓库,大家也可以自行下载源码打包传到自己公司的私服上。 之前有写过一篇加密的文章《前后端API交互如何保证数据安全性》。主要是在Spring Boot中如何对接口的数据进行自动加解密操作,通过注解的方式来指定是否需要加解密。 原理...

    BetaRabbit 评论0 收藏0
  • monkey-api-encrypt 1.1.2版本发布啦

    摘要:时隔多天,发布了第二个版本,还是要感谢一些正在使用的朋友们,提出了一些问题。配置文件可以在中使用可以在,中使用相同问题当存在两个相同的时,比如请求的和的请求。如果是使用的方式,框架会自动处理,会为每一个加上前缀来区分不同的请求方式。 时隔10多天,monkey-api-encrypt发布了第二个版本,还是要感谢一些正在使用的朋友们,提出了一些问题。 GitHub主页:https://g...

    blair 评论0 收藏0
  • Spring Boot 整合 Shiro

    摘要:虽然,直接用和进行全家桶式的合作是最好不过的,但现实总是欺负我们这些没办法决定架构类型的娃子。并非按输入顺序。遍历时只能全部输出,而没有顺序。设想以下,若全局劫持在最前面,那么只要在裆下的,都早早被劫持了。底层是数组加单项链表加双向链表。 虽然,直接用Spring Security和SpringBoot 进行全家桶式的合作是最好不过的,但现实总是欺负我们这些没办法决定架构类型的娃子。 Apa...

    newsning 评论0 收藏0

发表评论

0条评论

刘厚水

|高级讲师

TA的文章

阅读更多
最新活动
阅读需要支付1元查看
<