当前位置: 首页 > 知识库问答 >
问题:

注册没有WebMvcConfigurationSupport的Spring HandlerInterceptor

柴茂材
2023-03-14

我有一个使用WebMVCConfigurationSupport#AddInterceptors的实现,但这与spring中的其他自动工作冲突,并覆盖了应用程序自身的一些逻辑。对于本应简单的东西来说,它也显得难以置信的沉重。我现在正在尝试:

@Configuration
public class AnnotationSecurityConfiguration {

    @Autowired private RequestMappingHandlerMapping requestMappingHandlerMapping;

    @PostConstruct
    public void attachInterceptors() {
        requestMappingHandlerMapping.setInterceptors(new Object[] {
                new SecurityAnnotationHandlerInterceptor()
        });
    }

}

但是,拦截器注册的RequestMappingHandlerMapping实例似乎与应用程序实际用于web请求的实例完全不同。此外,当作为BeanFactoryPostProcessor实现时,当我尝试BeanFactory.GetBean(RequestMappingHandlerMapping.Class)时,在HealthMVCENdpoint中获得NullPointerException

共有1个答案

商开济
2023-03-14

仅说明@blauhirn的注释,webmvcconfigureradapter从5.0版起就不推荐使用:

从5.0开始弃用WebMVCConfigureer具有默认方法(通过Java8基线实现),并且可以直接实现,而不需要此适配器

请参考新的方法:

@Configuration
public class WebMvcConfig implements WebMvcConfigurer {

    @Override
    public void addInterceptors(InterceptorRegistry registry) {
        registry.addInterceptor(new MyCustomInterceptor())
        // Optional
        .addPathPatterns("/myendpoint");
    }
}
 类似资料:
  • 问题内容: 我有一个查询,我需要过滤出结果。 这是我的查询 我说错了。我显然对过滤字段有一个查询。我遵循的是Elasticsearch页面上经过过滤的查询文档中给出的格式。 https://www.elastic.co/guide/zh-CN/elasticsearch/reference/current/query-dsl- filtered- query.html 问题答案: 该查询已在ES

  • 我有一个查询,我需要过滤出结果。 这是我的查询 我得到一个错误,说注册[query]。我显然有一个筛选字段的查询。我遵循elasticsearch页面上筛选的查询文档中给出的格式。https://www.elastic.co/guide/en/elasticsearch/reference/current/query-dsl-filtered-query.html

  • 问题内容: 我正在尝试创建一个简单的Spring 3应用程序并具有以下文件。请告诉我此错误的原因 下面是我的web.xml 以下是我的index.jsp 下面是我的dispatcher-servlet.xml 这是LoginController.java 最后是我的LoginBean 问题答案: 你必须在web.xml中有一个ContextLoaderListener-它会加载你的配置文件。 你需

  • 问题内容: 我正在尝试对我的ElasticSearch Server进行此查询。 基本上,我希望检索名称中与“ network”匹配的所有产品,但仅过滤与或匹配的产品。当我执行此查询时,我收到此错误信息。 我想这里的关键是,但无法理解这里出了什么问题。 问题答案: 是查询,而不是过滤器。 在这种情况下,您可能需要-filter。

  • 我正在尝试为vertx相关的东西写一个测试用例。 获取以下错误: 请帮助解决这个问题。

  • 我在尝试添加参考书目 MS Word不幸地没有显示这种来源作为来源。经过一些试验 问题可能是在Docx4J中,此命名空间未在NamespacePrefix Mappings类中定义。 如何添加或定义自己的名称空间前缀映射?或者我可以以某种方式强制Docx4j对部分使用特定前缀吗?任何结果是带有名称空间“b”的XML的东西对我来说都是好建议。我希望避免下载Docx4j源代码、modyfing源代码和