<kbd id="afajh"><form id="afajh"></form></kbd>
<strong id="afajh"><dl id="afajh"></dl></strong>
    <del id="afajh"><form id="afajh"></form></del>
        1. <th id="afajh"><progress id="afajh"></progress></th>
          <b id="afajh"><abbr id="afajh"></abbr></b>
          <th id="afajh"><progress id="afajh"></progress></th>

          Spring Boot Event 觀察者模式,輕松帶你實現(xiàn)業(yè)務解耦!

          共 1102字,需瀏覽 3分鐘

           ·

          2022-07-23 16:19

          點擊上方“Java技術(shù)江湖”,選擇“設為星標

          回復”666“獲取全網(wǎng)最熱的Java核心知識點整理

          寫在最前

          實際業(yè)務開發(fā)過程中,業(yè)務邏輯可能非常復雜,核心業(yè)務 + N個子業(yè)務。如果都放到一塊兒去做,代碼可能會很長,耦合度不斷攀升,維護起來也麻煩,甚至頭疼。還有一些業(yè)務場景不需要在一次請求中同步完成,比如郵件發(fā)送、短信發(fā)送等。

          MQ 確實可以解決這個問題,但 MQ 重啊,非必要不提升架構(gòu)復雜度。針對這些問題,我們了解一下 Spring Event。

          Spring Event 同步使用

          Spring Event(Application Event)其實就是一個觀察者設計模式,一個 Bean 處理完成任務后希望通知其它 Bean 或者說一個 Bean 想觀察監(jiān)聽另一個Bean 的行為。

          推薦一個 Spring Boot 基礎實戰(zhàn)教程:

          https://github.com/javastacks/spring-boot-best-practice

          1.自定義事件

          定義事件,繼承 ApplicationEvent 的類成為一個事件類

          2.定義監(jiān)聽器

          監(jiān)聽并處理事件,實現(xiàn) ApplicationListener 接口或者使用 @EventListener 注解

          3.定義發(fā)布者

          發(fā)布事件,通過 ApplicationEventPublisher 發(fā)布事件

          4.單測執(zhí)行

          執(zhí)行結(jié)果如下:

          Spring Event 異步使用

          有些業(yè)務場景不需要在一次請求中同步完成,比如郵件發(fā)送、短信發(fā)送等。另外,最新面試題整理好了,點擊Java面試庫小程序在線刷題。

          1.自定義事件

          2.定義監(jiān)聽器

          推薦使用 @EventListener 注解

          3.定義發(fā)布者

          4.單測執(zhí)行(同步)

          執(zhí)行結(jié)果如下:

          5.開啟異步

          啟動類增加 @EnableAsync 注解

          Listener 類需要開啟異步的方法增加 @Async 注解

          6.單測執(zhí)行(異步)

          發(fā)送短信的線程顯示 task-1,主線程結(jié)束后(總耗時:(2017)毫秒)控制臺停止打印了

          來源:blog.csdn.net/csp732171109/article/details/124377254


          — End —

          為什么國內(nèi)做不出 JetBrains 那樣的產(chǎn)品?


          再見,Java泛型 T、E、K、V、?。通用泛型要來了,非常勁爆!


          重磅!騰訊正式開源 Spring Cloud Tencent,功能真心強大!

          關(guān)注公眾號【Java技術(shù)江湖】后回復“PDF”即可領(lǐng)取200+頁的《Java工程師面試指南》

          強烈推薦,幾乎涵蓋所有Java工程師必知必會的知識點,不管是復習還是面試,都很實用。



          瀏覽 69
          點贊
          評論
          收藏
          分享

          手機掃一掃分享

          分享
          舉報
          評論
          圖片
          表情
          推薦
          點贊
          評論
          收藏
          分享

          手機掃一掃分享

          分享
          舉報
          <kbd id="afajh"><form id="afajh"></form></kbd>
          <strong id="afajh"><dl id="afajh"></dl></strong>
            <del id="afajh"><form id="afajh"></form></del>
                1. <th id="afajh"><progress id="afajh"></progress></th>
                  <b id="afajh"><abbr id="afajh"></abbr></b>
                  <th id="afajh"><progress id="afajh"></progress></th>
                  久久久国产日韩欧美91一二三 | 最新版中文官网资源 | 蜜桃97夜夜做亚洲欧美 | 亚洲欧美国产精品久久久久久久 | 日本无码视频在线播放 |