java - 为什么Spring HandlerExecutionChain同时有拦截器和interceptorList?

标签 java spring spring-mvc

为什么spring源码中有数组类型拦截器和列表类型拦截器Listorg.springframework.web.servlet.HandlerExecutionChain?有这个必要吗?

public class HandlerExecutionChain {

    private final Object handler;

    @Nullable
    private HandlerInterceptor[] interceptors;

    @Nullable
    private List<HandlerInterceptor> interceptorList;

    .....
}

最佳答案

当你查看the source code时你会看到只有 HandlerInterceptor[] interceptors仅在 HandlerExecutionChain 之外返回在:

public HandlerInterceptor[] getInterceptors() {

您还可以查看List<HandlerInterceptor> initInterceptorList(用于创建 List<HandlerInterceptor> interceptorList 。它看起来像 interceptorList是有助于创建 interceptors 的集合稍后暴露在外的数组。

关于java - 为什么Spring HandlerExecutionChain同时有拦截器和interceptorList?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60273268/

相关文章:

java - Swt FormToolkit焦点问题

java - JPanel自定义背景

java - 在 Java 中解析 GitHub API 响应

java - 用从表中获取的静态变量替换枚举常量

java - Spring 3.1.2 RowMapper参数化

java - 这些通知如何称呼?

spring - 如果资源服务器应该是无状态的,如何使用 websocket 将消息发送到队列

java - spring boot 向环境添加另一个属性文件

java - Spring mvc 绑定(bind)错误国际化

java - HTTP 状态 403 - 访问被拒绝 Spring 安全