<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                合規國際互聯網加速 OSASE為企業客戶提供高速穩定SD-WAN國際加速解決方案。 廣告
                # 【第六章】 AOP 之 6.7 通知順序 ——跟我學spring3 如果我們有多個通知想要在同一連接點執行,那執行順序如何確定呢?Spring AOP使用AspectJ的優先級規則來確定通知執行順序。總共有兩種情況:同一切面中通知執行順序、不同切面中的通知執行順序。 首先讓我們看下 **1)?同一切面中通知執行順序:**如圖6-6所示。 ![](https://box.kancloud.cn/2016-05-13_5735471eaa86e.JPG)? 圖6-6 同一切面中的通知執行順序 而如果在同一切面中定義兩個相同類型通知(如同是前置通知或環繞通知(proceed之前))并在同一連接點執行時,其執行順序是未知的,如果確實需要指定執行順序需要將通知重構到兩個切面,然后定義切面的執行順序。 ``` 錯誤“Advice precedence circularity error”:說明AspectJ無法決定通知的執行順序,只要將通知方法分類并按照順序排列即可解決。 ``` 2)**不同切面中的通知執行順序:**當定義在不同切面的相同類型的通知需要在同一個連接點執行,如果沒指定切面的執行順序,這兩個通知的執行順序將是未知的。 如果需要他們順序執行,可以通過指定切面的優先級來控制通知的執行順序。 Spring中可以通過在切面實現類上實現org.springframework.core.Ordered接口或使用Order注解來指定切面優先級。在多個切面中,Ordered.getValue()方法返回值(或者注解值)較小值的那個切面擁有較高優先級,如圖6-7所示。 ![](https://box.kancloud.cn/2016-05-13_5735471ec3608.JPG) 圖6-7 兩個切面指定了優先級 對于@AspectJ風格和注解風格可分別用以下形式指定優先級: ![](https://box.kancloud.cn/2016-05-13_5735471ef28c5.JPG) 在此我們不推薦使用實現Ordered接口方法,所以沒介紹,示例代碼在cn.javass.spring.chapter6\. OrderAopTest文件中。 原創內容,轉載請注明出處【[http://sishuok.com/forum/blogPost/list/0/2474.html](http://sishuok.com/forum/blogPost/list/0/2474.html#7146)】
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看