<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>

          JFinal-eventJFinal 事件驅(qū)動(dòng)插件

          聯(lián)合創(chuàng)作 · 2023-09-20 10:06

          JFinal-event是JFinal框架的一個(gè)事件驅(qū)動(dòng)插件,其核心目標(biāo)是深層次解耦,為您節(jié)約更多時(shí)間,去陪戀人、家人和朋友 :)

          事件驅(qū)動(dòng)模型簡介

          事件驅(qū)動(dòng)模型也就是我們常說的觀察者,或者發(fā)布-訂閱模型;我是這樣理解他的:

          就仿佛一塊石頭丟進(jìn)了池塘里,會(huì)泛起一圈一圈的漣漪!其他人只要看到漣漪就知道你個(gè)二貨又在扔石子·。·

          接下來先看一個(gè)用戶注冊(cè)的例子: 輸入圖片說明

          用戶注冊(cè)成功后,需要做這么多事:

          1. 加積分

          2. 發(fā)確認(rèn)郵件

          3. 如果是游戲帳戶,可能贈(zèng)送游戲大禮包

          4. 索引用戶數(shù)據(jù) …………

          如果這些業(yè)務(wù)都耦合到UserService或者JFinal中的UserController中,將會(huì)變得異常復(fù)雜。

          下面筆者列舉使用JFinal-event來解決這類問題

          編寫用戶保存事件

          public class UserSaveEvent extends ApplicationEvent { 
              private static final long serialVersionUID = 6994987952247306131L;
          
              public UserSaveEvent(Object source) { super(source);
              }
          
          }

          在用戶save完成之后觸事件

          boolean temp = userModel.save();
          if (temp) {
              EventKit.postEvent(new UserSaveEvent(userModel));
          }

          后面就是個(gè)個(gè)業(yè)務(wù)的事件監(jiān)聽了,例如郵件業(yè)務(wù)

          // 注解標(biāo)記,切勿忘記 
          @Listener 
          public class UserSaveEmailListener implements ApplicationListener { 
          @Override public void onApplicationEvent(UserSaveEvent event) {
              OrderModel order = (UserModel) event.getSource(); 
              // 你的邏輯 
              // EmailUtils.sendXxxxx 
          }
          
          }

          突然春節(jié)臨近了,公司需要做活動(dòng),注冊(cè)用戶贈(zèng)送優(yōu)惠券,你只需要新增一個(gè)UserSaveXXXListener即可.

          瀏覽 40
          點(diǎn)贊
          評(píng)論
          收藏
          分享

          手機(jī)掃一掃分享

          編輯 分享
          舉報(bào)
          評(píng)論
          圖片
          表情
          推薦
          點(diǎn)贊
          評(píng)論
          收藏
          分享

          手機(jī)掃一掃分享

          編輯 分享
          舉報(bào)
          <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人妻无码成人精品一区二区三区 | 亚洲欧美高清在线 |