如何在 Spring Boot 中添加过滤器类? [英] How can I add a filter class in Spring Boot?
本文介绍了如何在 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屋!
查看全文