【问题标题】:How to order Filter in spring-boot? [duplicate]如何在 spring-boot 中订购过滤器? [复制]
【发布时间】:2023-03-15 23:47:01
【问题描述】:

我正在创建不同的Filter@Bean,并希望在另一个过滤器之前强制执行特定过滤器:

@Bean
@Order(1)
public Filter getLoggingUuidFilter() {
    return new Filter() {
        //...
    };
}

@Bean
@Order(2)
public Filter getLoggingRequestFilter() {
    return new CommonsRequestLoggingFilter();
}

结果:Filter2 在 Filter1 之前执行。为什么?

【问题讨论】:

  • 好的,所以@Order 不是为了订购过滤器,但必须另外创建一个FilterRegistrationBeanfilter.setOrder(Ordered.HIGHEST_PRECEDENCE);

标签: java spring spring-boot


【解决方案1】:

来自@Order 的春季文档

特定类型的内容支持基于注释的排序 仅组件——例如,用于基于注释的 AspectJ 方面。 另一方面,Spring 容器中的排序策略, 通常基于 Ordered 接口,以便允许 以编程方式配置每个实例的顺序

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-09-09
    • 2013-11-18
    • 2016-11-09
    • 2018-07-14
    相关资源
    最近更新 更多