Java 如何在spring boot中订购过滤器?

Java 如何在spring boot中订购过滤器?,java,spring,spring-boot,Java,Spring,Spring Boot,我正在创建不同的过滤器@Bean,并希望在另一个过滤器之前强制执行特定过滤器: @Bean @Order(1) public Filter getLoggingUuidFilter() { return new Filter() { //... }; } @Bean @Order(2) public Filter getLoggingRequestFilter() { return new CommonsRequestLoggingFilter(); }

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

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

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

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

来自@Order的spring文档

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


好的,
@Order
不是用来排序过滤器的,但是必须另外创建一个
FilterRegistrationBean
filter.setOrder(Ordered.HIGHEST\u优先级)