摘要:一接口介紹中提供了一個接口。從單詞意思就知道接口的作用就是用來排序的。類實現了接口的一個比較器。三中使用接口在的例子在配置文件中添加,那么默認會注入和這兩個類。
一、Ordered接口介紹
Spring中提供了一個Ordered接口。從單詞意思就知道Ordered接口的作用就是用來排序的。
Spring框架是一個大量使用策略設計模式的框架,這意味著有很多相同接口的實現類,那么必定會有優先級的問題。于是Spring就提供了Ordered這個接口,來處理相同接口實現類的優先級問題。
二、Ordered接口分析
1、Ordered接口的定義:
public interface Ordered {
/**
* Useful constant for the highest precedence value.
* @see java.lang.Integer#MIN_VALUE
*/
int HIGHEST_PRECEDENCE = Integer.MIN_VALUE;
/**
* Useful constant for the lowest precedence value.
* @see java.lang.Integer#MAX_VALUE
*/
int LOWEST_PRECEDENCE = Integer.MAX_VALUE;
/**
* Get the order value of this object.
* Higher values are interpreted as lower priority. As a consequence,
* the object with the lowest value has the highest priority (somewhat
* analogous to Servlet {@code load-on-startup} values).
*
Same order values will result in arbitrary sort positions for the
* affected objects.
* @return the order value
* @see #HIGHEST_PRECEDENCE
* @see #LOWEST_PRECEDENCE
*/
int getOrder();
}
該接口卡只有1個方法getOrder()及 2個變量HIGHEST_PRECEDENCE最高級(數值最小)和LOWEST_PRECEDENCE最低級(數值最大)。
2、OrderComparator類:實現了Comparator接口的一個比較器。
public class OrderComparator implements Comparator