<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國際加速解決方案。 廣告
                ~~~ <?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:context="http://www.springframework.org/schema/context" xmlns:aop="http://www.springframework.org/schema/aop" xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd http://www.springframework.org/schema/context https://www.springframework.org/schema/context/spring-context.xsd http://www.springframework.org/schema/aop https://www.springframework.org/schema/aop/spring-aop.xsd"> <!-- 1.注冊目標對象 --> <bean name="userService" class="com.nobb.service.UserServiceImpl" ></bean> <!-- 2.注冊通知對象 --> <bean name="myAdvice" class="com.nobb.advice.MyAdvice" ></bean> <!-- 3.配置織入(切面) --> <aop:config> <!-- 配置切點 id:為配置的切點起個名字,為了方便后續引用 expression:切點表達式,描述誰是切點 切點表達式語法: execution:描述具體哪個類中的哪個方法需要增強 語法: execution(返回值 包名.類名.方法名(方法參數)) 例子: execution(void com.kaikeba.service.UserServiceImpl.save()) 指定某一個方法為切點 execution(* com.kaikeba.service.UserServiceImpl.save()) 方法返回值任意 execution(* com.kaikeba.service.*ServiceImpl.save()) 指定包中以ServiceImpl結尾的類 execution(* com.kaikeba.service.*ServiceImpl.*()) 空參方法名任意 execution(* com.kaikeba.service.*ServiceImpl.*(..)) 參數列表任意(常用) execution(* com.kaikeba.service.*ServiceImpl.*(Long,..)) 第一個參數是Long型,其他任意. execution(* *..*.*ServiceImpl.*(..)) 任意包下 execution(* *..*.*.*(..)) 所有類中的所有方法都是切點(開玩笑,不常用) --> <aop:pointcut id="myPC" expression="execution(* com.nobb.service.*ServiceImpl.*(..))"/> <!-- 配置切面 切面:切點+通知 ref:指定通知對象 --> <aop:aspect ref="myAdvice" > <!-- 前置切面:切點+前置通知 --> <aop:before method="before" pointcut-ref="myPC"/> <!-- 后置通知 --> <aop:after-returning method="after" pointcut-ref="myPC"/> <!-- 最終通知 --> <aop:after method="end" pointcut-ref="myPC"/> <!-- 異常通知 --> <aop:after-throwing method="afterThrowing" pointcut-ref="myPC"/> </aop:aspect> </aop:config> </beans> ~~~
                  <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>

                              哎呀哎呀视频在线观看