スプリング条件注釈主な役割は、状況に応じて、注釈と呼ばれる状態を豆容器を注入することです。それは春4.0で導入された新機能です
@Component パブリック クラス猫{ } @Component @Conditional(一致クラス) パブリック クラス犬{ } パブリック クラス一致条件{実装 @Override パブリックブールマッチ(ConditionContextコンテキスト、AnnotatedTypeMetadataメタデータ){
返す 偽。 } } パブリック クラスのテスト{ 公共 静的 ボイドメイン(文字列[]引数){ AnnotationConfigApplicationContext annotationConfigApplicationContext = 新しいですAnnotationConfigApplicationContext(" com.edu.condition " ); 文字列[] beanNames = annotationConfigApplicationContext.getBeanDefinitionNames()。 以下のための(文字列名:beanNames){ システム。アウト.println(名); } } }
マッチ条件が発現した場合にメソッドがtrueを返した場合、matchesメソッドを書き換え、条件を達成します。
パラメータコンテキストから得ることができます
このような環境として1.context.getEnvironment()情報
ストリングOSNAME = context.getEnvironment()のgetProperty( "os.name")は;.オペレーティング・システムの名前を取得します
2.context.getRegistry()登録ビーン
リソースをロードする3.context.getResourceLoader()
4.context.getBeanFactory()たBeanFactory