2014-09-04 48 views
4

我正在使用spring-boot-starter-web軟件包構建基於spring-batch-admin的webapp。在Spring Boot中爲Servlet配置添加過濾器

@Configuration 
@EnableAutoConfiguration(exclude = { BatchAutoConfiguration.class, DataSourceAutoConfiguration.class, WebMvcAutoConfiguration.class }) 
@Import(MainConfiguration.class) 
@EnableTransactionManagement 
public class BatchAdmin extends SpringBootServletInitializer { 

    public static void main(String[] args) { 
    SpringApplication.run(BatchAdmin.class, args); 
    } 
    // ... 
}  

@Configuration 
@ComponentScan("com.company.package*") 
@Import({ ServletConfiguration.class, WebappConfiguration.class }) 
public class MainConfiguration {} 

@Configuration 
@ImportResource("classpath:/org/springframework/batch/admin/web/resources/servlet-config.xml") 
public class ServletConfiguration {} 

@Configuration 
@ImportResource({ "classpath:/org/springframework/batch/admin/web/resources/webapp-config.xml","classpath:persistence-context.xml" }) 
public class WebappConfiguration {} 

如何使用java配置樣式將此過濾器添加到servlet上下文中?

<filter-mapping> 
    <filter-name>hiddenHttpMethodFilter</filter-name> 
    <url-pattern>/*</url-pattern> 
</filter-mapping> 

回答

3

有時(但不經常),諮詢文檔比查詢SO社區要快。

根據官方spring-boot documentation,我不得不將以下bean定義添加到BatchAdmin類。

@Bean 
public Filter hiddenHttpMethodFilter() { 
    HiddenHttpMethodFilter filter = new HiddenHttpMethodFilter(); 
    return filter; 
} 
相關問題