java - 如何在 Spring Boot 中添加过滤器类?

标签 java configuration spring-boot servlet-filters

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

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

The Spring Boot Reference Guide提到过 FilterRegistrationBean,但是不知道怎么用。

最佳答案

如果要设置第三方过滤器,可以使用 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:

@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 测试的。

关于java - 如何在 Spring Boot 中添加过滤器类?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19825946/

相关文章:

java - 通过获取当前时间进行SQL查询

c++ - C++ 中灵活的应用程序配置

mysql - 更改 MariaDB 5.5 的数据目录

tomcat - 由于 "The filename, directory name, or volume label syntax is incorrect",Spring 引导无法在 tomcat 7 上加载 keystore 类型 JKS

spring-boot - Gitlab CI/CD 跨项目工件不使用 "needs"下载

java - 在 While-Loop 中下载并解压文件

Java:运算符(operator)通知

java - 使用 jsoup 从另一个 div 类中提取 div 类

java - Tomcat 替换 VM 参数

spring-boot - pom.xml maven 中的属性标签是什么意思?