Springの@ConditionalOnPropertyアノテーションの使い方はどうですか?
Springでは、@ConditionalOnProperty注釈を使用して、設定プロパティの値に基づいてBeanの作成とロードを制御することができます。 これは条件付きの注釈であり、指定されたプロパティが条件に一致する場合にのみ、注釈が付いたBeanがロードされます。
@ConditionalOnPropertyアノテーションを使用する手順は以下の通りです:
- @ConditionalOnProperty条件によって
- 名前
- 価値を持っています(I have value)
- 価値のある
- 本当
例えば、以下のコードは次の通りです。
@Component
@ConditionalOnProperty(name = "myapp.feature.enabled", havingValue = "true")
public class MyFeature {
// ...
}
上記の例では、MyFeatureコンポーネントは、設定プロパティmyapp.feature.enabledの値がtrueの場合にのみ読み込まれます。
prefix属性を使用して、設定プロパティの接頭辞を指定したり、matchIfMissing属性を使用してプロパティが存在しない場合のデフォルト動作を指定したりすることができます。例:
@Component
@ConditionalOnProperty(prefix = "myapp", name = "feature.enabled", havingValue = "true", matchIfMissing = true)
public class MyFeature {
// ...
}
上記の例では、myapp.feature.enabledプロパティが存在しない場合、デフォルトでは条件は依然として一致します。