Filter
Spring Boot にはクラス (Web アプリケーション用)のアノテーションはありますか? おそらくあるでしょう@Filter
?
プロジェクトにカスタム フィルターを追加したいです。
Spring Boot リファレンス ガイドについて言及しましたFilterRegistrationBean
が、どのように使用すればよいかわかりません。
ベストアンサー1
サードパーティのフィルターを設定する場合は、 を使用できます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>
ファイル内の 2 つの Bean は次のようになります@Configuration
。
@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 でテストされました。