美文网首页
JAVA基础篇(17)—ordered接口和order注解

JAVA基础篇(17)—ordered接口和order注解

作者: 小胖学编程 | 来源:发表于2020-05-07 10:01 被阅读0次

Ordered接口和@order注解都可以用于控制类的处理顺序,规则:数字越小,越先加载!

有一个常用的使用场景,就是在Filter中。我们在自定义的Filter中可以使用@Order注解控制Filter的拦截顺序,但在Spring源码中,也会采用实现Ordered接口来控制拦截顺序。

一般情况下是定义了一组类实现Ordered接口或者使用@order注解。然后使用Comparator实现排序,就可以实现排序。

Spring提供了AnnotationAwareOrderComparator类,来完成对上述类的排序。

代码实现:

public abstract class ReadService  {
    public abstract void read();
}
public class WordReadSeviceImpl extends ReadService implements Ordered {
    @Override
    public void read() {
        System.out.println("3. 读单词");
    }

    @Override
    public int getOrder() {
        return 3;
    }
}
@Order(2)
public class MathReadServiceImpl extends ReadService {
    @Override
    public void read() {
        System.out.println("2. 读数学");
    }
}
public class Test {
    public static void main(String[] args) {
        List<ReadService> list=new ArrayList<>();

        list.add(new WordReadSeviceImpl());
        list.add(new MathReadServiceImpl());
        //对列表进行排序
        AnnotationAwareOrderComparator.sort(list);

        list.forEach(ReadService::read);
    }
}

相关文章

  • JAVA基础篇(17)—ordered接口和order注解

    Ordered接口和@order注解都可以用于控制类的处理顺序,规则:数字越小,越先加载! 有一个常用的使用场景,...

  • 201009复盘:@Order-TimeUnit-decod

    一. Spring @Order注解的使用 注解@Order或者接口Ordered的作用是定义Spring IOC...

  • Spring笔记-@Order注解和Ordered接口

    Order注解用于排序 1.OrderUtils Spring提供了OrderUtils来获取Class的Orde...

  • Java 集合框架(List 接口)

    List 接口简介 对于 List 接口,Java的官方文档这样提到: A List is an ordered ...

  • 自定义注解

    java annotation基础 java注解分为标准注解和元注解。 标准注解是java为我们提供的预定义的注解...

  • Java基础:反射

    反射注解动态代理相关阅读 Java基础:类加载器 Java基础:反射 Java基础:注解 Java基础:动态代理 ...

  • Java基础:注解

    系列阅读 Java基础:类加载器 Java基础:反射 Java基础:注解 Java基础:动态代理 1. 概述 注解...

  • Android面试复习

    一.Java基础 1.Java语法关键字:接口和抽象类,反射,内部类,字符串,范型,枚举,引用类型,注解,NIO,...

  • Spring核心接口之Ordered

    一、Ordered接口介绍 Spring中提供了一个Ordered接口。从单词意思就知道Ordered接口的作用就...

  • (spring)Bean的配置与注入

    Bean的配置 继续引用spring中的java基础(注解)的例子代码person类和air接口。 1、基于XML...

网友评论

      本文标题:JAVA基础篇(17)—ordered接口和order注解

      本文链接:https://www.haomeiwen.com/subject/wkmophtx.html