Springboot イベント監視の概要 (コード付き)

不言
リリース: 2019-04-12 10:36:06
転載
3655 人が閲覧しました

この記事では、Springboot イベント監視の概要 (コード付き) を紹介します。これには一定の参考価値があります。必要な友人は参考にしてください。お役に立てれば幸いです。

#イベントの定義

@Getter
public class TestEvent extends ApplicationEvent {
   private String msg;

   public TestEvent(Object source, String msg) {
       super(source);
       this.msg = msg;
   }
}
ログイン後にコピー

イベント監視の定義 (アノテーション メソッド)

 @Component
 public class TestListen {
   @EventListener
   public void testListen(TestEvent event) {
       System.out.println(event.getMsg());
   }
}
ログイン後にコピー
注: @Component アノテーション

イベントの発行

@Autowired
private ApplicationContext publiser;

@GetMapping("test-listen")
public void testListen() {
    for (int i = 0; i < 10; i++) {
        System.out.println("i = " + i);
    }
    publiser.publishEvent(new TestEvent(this, "测试事件监听"));
    for (int j = 0; j < 10; j++) {
       System.out.println("j = " + j);
   }
}
ログイン後にコピー
テスト中の実行シーケンス:

    i ループ
  1. Print "event = [テスト イベント リスニング]"
  2. j ループ

非同期モニタリング

Listening と @Async アノテーション

@Component
public class TestListen {
   @EventListener
   @Async
   public void testListen(TestEvent event) {
       for (int i = 0; i < 10; i++) {
           System.out.println("event = [" + event.getMsg() + "]");
       }
   }
}
ログイン後にコピー
テスト中の実行順序:

    i ループ
  1. j ループ
  2. Print "event = [テスト イベント リスニング]"

以上がSpringboot イベント監視の概要 (コード付き)の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

関連ラベル:
ソース:segmentfault.com
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート