I would like to configure Servlet Filter in the Spring Boot Web Application, and I would like to auto-resolve some Beans and properties using the @Value annotation. I was able to achieve this using the following configurations:
@Configuration
public class MyWebConfig{
@Autowire
MyFilter filter;
@Autowire
MyAnotherFilter anotherFilter;
@Bean
public FilterRegistrationBean someFilterRegistration() {
FilterRegistrationBean registration = new FilterRegistrationBean();
registration.setFilter(filter);
registration.setOrder(1);
return registration;
}
@Bean
public FilterRegistrationBean someFilterRegistration() {
FilterRegistrationBean registration = new FilterRegistrationBean();
registration.setFilter(anotherFilter);
registration.setOrder(2);
return registration;
}
}
And I configured both filters (showing only one filter for brevity):
@Configuration
public class MyFilter implements Filter{
@Value("${my.property.key}")
private String myProperty;
public void doFilter(...){
....
}
....
}
. :
1) , FilterRegistrationBean. , FilterRegistrationBean, . ?
2) , , , url FilterRegistrationBean?
3) , @Component, @Configuration Filter, ?
4) , , , @Component/@Configuration?
, @SpringBootApplication .