Spring过滤器作为基于Java注释的bean

时间:2017-09-08 09:18:36

标签: java spring spring-mvc spring-security spring-data-jpa

我有一个下面提供的XML格式的Spring过滤器,

    <filter>
    <filter-name>SpringOpenEntityManagerInViewFilter</filter-name>
    <filter-class>org.springframework.orm.jpa.support.OpenEntityManagerInViewFilter</filter-class>
</filter>

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

我将它作为XML文件加载到类的顶部。是否可以编写Java而不是XML定义?

1 个答案:

答案 0 :(得分:1)

如果是Spring,你应该定义一个扩展AbstractDispatcherServletInitializer并向其添加以下行的类

@Override
protected Filter[] getServletFilters() {
    return new Filter[] {
        new OpenEntityManagerInViewFilter();
    };
}

您可以从Spring Docs获取有关Java代码中过滤器的更多信息 https://docs.spring.io/spring/docs/4.1.1.RELEASE/spring-framework-reference/html/mvc.html#mvc-container-config