<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國際加速解決方案。 廣告
                # Spring AOP AspectJ 切入點表達式示例 > 原文: [https://howtodoinjava.com/spring-aop/aspectj-pointcut-expressions/](https://howtodoinjava.com/spring-aop/aspectj-pointcut-expressions/) 在本教程中,我列出了一些示例,這些示例將幫助您編寫**切入點表達式**,以將任何類型的方法連接點匹配到 Spring 應用程序中。 有關完整的 AspectJ 切入點語言,請參閱 AspectHT 網站上的 AspectJ 編程指南。 ## 1\. 如何匹配方法簽名模式 最典型的切入點表達式用于通過其簽名來匹配許多方法。 #### 1.1. 匹配另一個包中一個類中的所有方法 例如,以下切入點表達式與`EmployeeManager`接口中聲明的所有方法匹配。 前面的通配符將方法與任何修飾符(公共,保護和私有)和任何返回類型匹配。 參數列表中的兩個點匹配任意數量的參數。 ```java execution(* com.howtodoinjava.EmployeeManager.*(..)) ``` #### 1.2. 匹配同一包中一個類中的所有方法 如果目標類或接口與此切面位于同一包中,則可以省略包名稱。 ```java execution(* EmployeeManager.*(..)) ``` #### 1.3. 匹配`EmployeeManager`中的所有公共方法 在開始處使用`public`關鍵字,并使用*匹配任何返回類型。 ```java execution(public * EmployeeManager.*(..)) ``` #### 1.4. 匹配返回類型為`EmployeeDTO`的`EmployeeManager`中的所有公共方法 在開始時使用`public`關鍵字并返回類型。 ```java execution(public EmployeeDTO EmployeeManager.*(..)) ``` #### 1.5. 匹配返回類型為`EmployeeDTO`和第一個參數為`EmployeeDTO`的`EmployeeManager`中的所有公共方法 在開始時使用`public`關鍵字并返回類型。 另外,還要指定您的第一個參數。 其余參數可以通過兩個點進行匹配。 ```java execution(public EmployeeDTO EmployeeManager.*(EmployeeDTO, ..)) ``` #### 1.6. 匹配返回類型為`EmployeeDTO`和帶有確定參數的`EmployeeManager`中的所有公共方法 在開始時使用`public`關鍵字并返回類型。 另外,還要指定所有參數類型。 ```java execution(public EmployeeDTO EmployeeManager.*(EmployeeDTO, Integer)) ``` ## 2\. 如何匹配類簽名模式 當應用于 [**Spring AOP**](https://howtodoinjava.com/spring/spring-aop/spring-aop-aspectj-example-tutorial-using-annotation-config/) 時,這些切入點的范圍將縮小以僅匹配特定類型內的所有方法執行。 #### 2.1. 匹配包`com.howtodoinjava`中的類中定義的所有方法 這很像前面的例子。 ```java within(com.howtodoinjava.*) ``` #### 2.2. 匹配在`com.howtodoinjava`包以及所有子包中的類中定義的所有方法 對于包含,子包使用兩個點。 ```java within(com.howtodoinjava..*) ``` #### 2.3. 匹配另一個包中的類的所有方法 與前面使用執行關鍵字的示例非常相似。 ```java within(com.howtodoinjava.EmployeeManagerImpl) ``` #### 2.4. 匹配同一包中的類的所有方法 如果使用相同的軟件包,請刪除軟件包名稱。 ```java within(EmployeeManagerImpl) ``` #### 2.5. 匹配`EmployeeManager`接口的所有實現類中的所有方法 使用`+`(加號)匹配接口的所有實現。 ```java within(EmployeeManagerImpl+) ``` ## 3\. 如何匹配類名模式 您可以匹配所有具有相同命名模式的 bean,例如 #### 3.1. 匹配名稱以`Manager`結尾的 bean 中定義的所有方法。 這很簡單。 使用`*`來匹配 Bean 名稱中的任何前綴,然后匹配單詞。 ```java bean(*Manager) ``` ## 4\. 如何組合切入點表達式 在 AspectJ 中,切入點表達式可以與運算符`&& (and)`,`|| (or)`和`! (not)`組合。 例如 #### 4.1. 匹配以`Manager`或`DAO`結尾的所有方法 使用`'||'`符號將兩個表達式組合在一起。 ```java bean(*Manager) || bean(*DAO) ``` 我希望當您在應用程序中確定正確的切入點表達式時遇到任何困難時,上述信息對您有所幫助。 學習愉快!
                  <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>

                              哎呀哎呀视频在线观看