アノテーションインターフェース Order
@Order
は、アノテーション付きコンポーネントのソート順を定義します。value()
はオプションであり、Ordered
インターフェースで定義されたオーダー値を表します。値が小さいほど優先度が高くなります。デフォルト値は Ordered.LOWEST_PRECEDENCE
で、最低の優先度を示します(他の指定された順序値に負けます)。
注意 : Spring 4.0 以降、ターゲットベースのコンポーネントの順序値が考慮されるコレクションインジェクション(ターゲットクラスまたは @Bean
メソッドのいずれか)でも、Spring の多くの種類のコンポーネントでアノテーションベースの順序付けがサポートされています。このような順序の値はインジェクションポイントでの優先順位に影響を与える可能性がありますが、依存関連と @DependsOn
宣言によって決定される直交関連であるシングルトンの起動順序には影響しないことに注意してください(実行時に決定される依存グラフに影響します)。
Spring 4.1 以降、標準の Priority
EE アノテーションは、オーダーシナリオでこのアノテーションのドロップイン置換として使用できます。単一の要素を選択する必要がある場合、@Priority
には追加のセマンティクスが含まれる可能性があることに注意してください(AnnotationAwareOrderComparator.getPriority(java.lang.Object)
を参照)。
または、オーダー値は Ordered
インターフェースを介してインスタンスごとに決定することもできます。これにより、特定のクラスにアタッチされたハードコードされた値の代わりに、構成によって決定されたインスタンス値が可能になります。
順序付けられていないオブジェクトのソートセマンティクスの詳細については、OrderComparator
の javadoc を参照してください。
- 導入:
- 2.0
- 作成者:
- Rod Johnson, Juergen Hoeller
- 関連事項:
オプション要素の概要
オプション要素
要素の詳細
value
int valueオーダー値。デフォルトは
Ordered.LOWEST_PRECEDENCE
です。- 関連事項:
- デフォルト:
- 2147483647