正如标题所述。
我正在迁移使用基于XML的配置的Spring-MVC应用程序。
我不知道将web.xml文件中的过滤器移动到新的Spring Boot Project的位置。
答案 0 :(得分:0)
您可以使用注释:@ImportResource
查找更多详情here
答案 1 :(得分:0)
使用Spring Boot时,您可以使用Java配置定义过滤器。
如documentation中所述,您只需要在配置类中将该过滤器声明为Bean。
@Configuration
public class WebConfig {
@Bean
public Filter someFilter() {
return new someFilter();
}
}
如果出于某种原因" SomeFilter"不是Spring托管bean,或者如果您需要自定义过滤器行为,那么您可以使用FilterRegistrationBean注册过滤器,如下所示
@Configuration
public class WebConfig {
@Bean
public Filter someFilter() {
return new someFilter();
}
@Bean
public FilterRegistrationBean someFilterRegistration() {
FilterRegistrationBean registration = new FilterRegistrationBean();
registration.setFilter(someFilter());
return registration;
}
}
如果是多个过滤器,您可以使用FilterRegistrationBean.setOrder()指定订单,如上所述in the doc
答案 2 :(得分:0)
最后我用这种方式使用Java配置(没有xml)注册了我的拦截器。
@Configuration
@EnableWebMvc
public class WebConfig extends WebMvcConfigurerAdapter {
@Autowired
ControllerInterceptor controllerInterceptor;
@Override
public void addInterceptors(InterceptorRegistry registry) {
registry.addInterceptor(this.controllerInterceptor).addPathPatterns(this.buildPaths());
}
private String[] buildPaths() {
String paths[] = { "/api/example1/**", "/api/example2/**" };
return paths;
}
}