@TargetSE(valueSE={TYPESE,METHODSE}) @RetentionSE(valueSE=RUNTIMESE) @DocumentedSE public @interface Conditional
 条件とは、Bean 定義を登録する前にプログラムで決定できる状態です(詳細は Condition を参照)。
@Conditional アノテーションは、次のいずれかの方法で使用できます。
@Configuration クラスを含む、@Component で直接または間接的にアノテーションが付けられたクラスの型レベルのアノテーションとして @Bean メソッドのメソッドレベルのアノテーションとして @Configuration クラスが @Conditional でマークされている場合、そのクラスに関連付けられているすべての @Bean メソッド、@Import アノテーション、@ComponentScan アノテーションが条件に従います。
 注 : @Conditional アノテーションの継承はサポートされていません。スーパークラスまたはオーバーライドされたメソッドからの条件は考慮されません。これらのセマンティクスを実施するために、@Conditional 自体は @InheritedSE として宣言されていません。さらに、@Conditional でメタアノテーションが付けられたカスタム合成アノテーションは、@Inherited として宣言してはなりません。
Condition| 修飾子と型 | 必須要素と説明 | 
|---|---|
| ClassSE<? extends Condition>[] | value コンポーネントを登録するために一致する必要があるすべての  Conditions。 | 
public abstract ClassSE<? extends Condition>[] value
Conditions。