https://blog.csdn.net/Vansonh...

源码:

public List<String> getInPriorityOrder(Collection<String> classNames) {        final AutoConfigurationSorter.AutoConfigurationClasses classes = new AutoConfigurationSorter.AutoConfigurationClasses(this.metadataReaderFactory, this.autoConfig        List<String> orderedClassNames = new ArrayList(classNames);        // ⾸先依据ASCII来进⾏排序        Collections.sort(orderedClassNames);        // 依据 Order        Collections.sort(orderedClassNames, new Comparator<String>() {            public int compare(String o1, String o2) {                int i1 = classes.get(o1).getOrder();                int i2 = classes.get(o2).getOrder();                return i1 < i2 ? -1 : (i1 > i2 ? 1 : 0);            }        });        // 依据 @AutoConfigureAfter @AutoConfigureBefore        List<String> orderedClassNames = this.sortByAnnotation(classes, orderedClassNames);