如何在 Spring Boot 中添加过滤器类? [英] How can I add a filter class in Spring Boot?

查看:38
本文介绍了如何在 Spring Boot 中添加过滤器类?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

Spring Boot 中的 Filter 类(用于 Web 应用程序)是否有任何注释?也许@Filter?

Is there any annotation for a Filter class (for web applications) in Spring Boot? Perhaps @Filter?

我想在我的项目中添加一个自定义过滤器.

I want to add a custom filter in my project.

Spring Boot 参考指南提到了FilterRegistrationBean,但我不知道如何使用它.

The Spring Boot Reference Guide mentioned about FilterRegistrationBean, but I am not sure how to use it.

推荐答案

如果你想设置第三方过滤器,你可以使用 FilterRegistrationBean.

If you want to setup a third-party filter you can use FilterRegistrationBean.

例如,相当于web.xml:

<filter>
     <filter-name>SomeFilter</filter-name>
        <filter-class>com.somecompany.SomeFilter</filter-class>
</filter>
<filter-mapping>
    <filter-name>SomeFilter</filter-name>
    <url-pattern>/url/*</url-pattern>
    <init-param>
        <param-name>paramName</param-name>
        <param-value>paramValue</param-value>
    </init-param>
</filter-mapping>

这些将是 @Configuration 文件中的两个 bean:

These will be the two beans in your @Configuration file:

@Bean
public FilterRegistrationBean someFilterRegistration() {

    FilterRegistrationBean registration = new FilterRegistrationBean();
    registration.setFilter(someFilter());
    registration.addUrlPatterns("/url/*");
    registration.addInitParameter("paramName", "paramValue");
    registration.setName("someFilter");
    registration.setOrder(1);
    return registration;
}

public Filter someFilter() {
    return new SomeFilter();
}

以上是使用 Spring Boot 1.2.3 测试的.

The above was tested with Spring Boot 1.2.3.

这篇关于如何在 Spring Boot 中添加过滤器类?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆