zoukankan      html  css  js  c++  java
  • Spring @Order注解的使用

    注解@Order或者接口Ordered的作用是定义Spring IOC容器中Bean的执行顺序的优先级,而不是定义Bean的加载顺序,Bean的加载顺序不受@Order或Ordered接口的影响;

    1.@Order的注解源码解读

    @Retention(RetentionPolicy.RUNTIME)
    @Target({ElementType.TYPE, ElementType.METHOD, ElementType.FIELD})
    @Documented
    public @interface Order {
    
        /**
         * 默认是最低优先级,值越小优先级越高
         */
        int value() default Ordered.LOWEST_PRECEDENCE;
    
    }
    • 注解可以作用在类(接口、枚举)、方法、字段声明(包括枚举常量);
    • 注解有一个int类型的参数,可以不传,默认是最低优先级;
    • 通过常量类的值我们可以推测参数值越小优先级越高;

    2.Ordered接口类

    package org.springframework.core;
    
    public interface Ordered {
        int HIGHEST_PRECEDENCE = -2147483648;
        int LOWEST_PRECEDENCE = 2147483647;
    
        int getOrder();
    }

    在spring内部,对基于spring xml的应用,spring使用OrderComparator类来实现排序。对基于注解的应用,spring采用AnnotationAwareOrderComparator来实现排序。

  • 相关阅读:
    oracle查询当天数据三种方式性能对比
    APPCAN IDE中安装emmet插件
    MAS 移动业务整合系统
    SDK 移动应用开发系统
    移动应用开发平台介绍
    安装Sublime Text 3插件的方法
    2014勿勿已过,2015已迎面而来
    入驻博客园
    zkw线段树
    贪心题
  • 原文地址:https://www.cnblogs.com/deityjian/p/11477110.html
Copyright © 2011-2022 走看看