ブートシーケンスの注釈注文をSpringBoot

順序ルール:

順序の値が小さいほど、より高い優先度の
デフォルト値がintの最大値であるので、数は、デフォルトで、最も低い優先順位とマークされていない場合、注文
注釈はインターフェースを順序付けgetOrder方法を実施するために相当し、数を返します。

@Retention(RetentionPolicy.RUNTIME)
@Target({ElementType.TYPE、ElementType.METHOD、ElementType.FIELD})
@Documented
公共@interface注文{

/ **
注文の*値。
* <P> {順序デフォルト@link#IS 。LOWEST_PRECEDENCE}
* @see順序getOrder#()
* /
int値()デフォルトOrdered.LOWEST_PRECEDENCE;

}
 

int型LOWEST_PRECEDENCE = Integer.MAX_VALUEで、
@Aspect
@Component
パブリッククラスDataSourceAspect器具は、順序{

@Override
公共のint getOrder(){
1を返します。
}

}
见下: 

OrderRunner1.java

@Component
@Order(1)
publicクラスOrderRunner1はCommandLineRunner {実装

@Override
ます。public void実行(文字列...引数が){例外をスロー
するSystem.out.println( "OrderRunner1を初期化するために開始...");
}
}
 OrderRunner2.java

@Component
@Order(2)
パブリッククラスOrderRunner2はCommandLineRunner {実装

@Override
ます。public void実行(文字列...引数が){例外をスロー
するSystem.out.println( "OrderRunner2を初期化するために開始...");
}
}
 Runner.java

@Component
パブリッククラスランナーはCommandLineRunner {実装

@Override
ます。public void実行(文字列...引数が){例外をスロー
するSystem.out.println( "ランナーを初期化するために開始します...");
}
}
@SpringBootApplication
パブリッククラスCommandLineRunnerApplication {

パブリック静的無効メイン(文字列[] args){
するSystem.out.println( "サービスを開始します。")。
SpringApplication.run(CommandLineRunnerApplication.class、引数)。
System.out.printlnは( "サービスが開始されました。");
}
}
 

彼らは、ログを開始します。

開始する。サービス
...
...
OrderRunner1スタートで初期化するために...
OrderRunner2スタートで初期化するために...
ランナースタートで初期化するために...
サービスでは開始されました。
 
---------- -----------
著者:jiangxwaの
ソース:CSDNの
元ます。https://blog.csdn.net/jiangxwa/article/details/87892577
著作権:この記事はブロガーのオリジナルの記事、再現され、添付してくださいボーエンリンク!

おすすめ

転載: www.cnblogs.com/shew/p/11258995.html