<output id="qn6qe"></output>

    1. <output id="qn6qe"><tt id="qn6qe"></tt></output>
    2. <strike id="qn6qe"></strike>

      亚洲 日本 欧洲 欧美 视频,日韩中文字幕有码av,一本一道av中文字幕无码,国产线播放免费人成视频播放,人妻少妇偷人无码视频,日夜啪啪一区二区三区,国产尤物精品自在拍视频首页,久热这里只有精品12

      佳林L

      博客園 首頁 新隨筆 聯系 訂閱 管理

      Spring-Aop

      ● AOP(概念):

      什么是AOP?

      ○ Aspect Oriented Programming 面向切面編程,利用Aop可以對業務邏輯的各個部分進行隔離,從而使得業務邏輯各部分之間的耦合度降低,提高程序的可重用性,同時提高了開發的效率。

      AOP(術語):

      ○ 連接點:類里面那些方法可以被增強,這些方法稱為連接點。

      ○ 切入點:實際被真正增強的方法,稱為切入點。

      ○ 通知(增強):實際增加的那個邏輯部分稱為通知。

      通知分為:前置,后置,環繞,異常,最終。

      ○ 切面:是動作,把通知應用到切入點的過程。

      AOP操作:

      ○ Spring框架一般都是基于 AspectJ 實現AOP操作。

      * 什么是AspectJ?

      AspectJ不是Spring組成部分,獨立AOP框架,一般把 AspectJ 和 Spring框架一起使用,進行AOP操作。

      ○ 基于AspectJ實現AOP操作:

      ① 基于xml配置文件。

      ② 基于注解方式實現。

      ○ 切入點表達式:

      ① 作用:知道對那個類里面的那個方法進行增強。

      ② 語法結構:execution([權限修飾符],[返回類型],[類全路徑],[方法名稱],[參數列表])。

      ● AOP操作(AspectJ注解):?

          //前置通知
         @Before(value = "execution(* com.djl.aop.User.add(..))")
         public void before(){
             System.out.println("before...");
        }
      ?
         //后置通知
         @AfterReturning(value = "execution(* com.djl.aop.User.add(..))")
         public void afterReturning(){
             System.out.println("afterReturning...");
        }
      ?
         //環繞通知
         @Around(value = "execution(* com.djl.aop.User.add(..))")
         public void around(ProceedingJoinPoint proceedingJoinPoint) throws Throwable {
             System.out.println("around之前...");
             proceedingJoinPoint.proceed();
             System.out.println("around之后...");
        }
      ?
         //最終通知
         @After(value = "execution(* com.djl.aop.User.add(..))")
         public void after(){
             System.out.println("after...");
        }
         
         //異常通知
         @AfterThrowing(value = "execution(* com.djl.aop.User.add(..))")
         public void afterThrowing(){
             System.out.println("afterThrowing...");
        }

      ● 相同切入點抽取:

          @Pointcut(value = "execution(* com.djl.bean.Persen.eat(..))")
         public void spring12(){
      ?
        }
      ?
         @Before(value = "spring12()")
         public void eat(){
             System.out.println("student eat...");
        }

       

      ● 有多個增強類對同一方法進行增強,設置增強類優先級:

      ○ 在增強類上加上注解 @order( 數字類型值 ),數字類型值越小優先級越高

      @Component
      @Aspect
      @Order(value = 1)
      public class Persenproxy {
      ?
         @Before(value = "execution(* com.djl.aop.User.add(..))")
         public void before(){
             System.out.println("persen before....");
        }
      }

      ● 使用配置文件實現AOP操作:

              <!-- 創建對象 -->
             <bean id="student" class="com.djl.aopxml.Student"></bean>
             <bean id="persen" class="com.djl.aopxml.Persen"></bean>
      ?
             <!-- 配置aop增強 -->
             <aop:config>
                     <!-- 配置切入點 -->
                     <aop:pointcut id="a" expression="execution(* com.djl.aopxml.Student.eat(..))"/>
                     <!-- 配置切面 -->
                     <aop:aspect ref="persen">
                             <aop:before method="before" pointcut-ref="a"></aop:before>
                     </aop:aspect>
             </aop:config>

      ● 完全基于注解:

      @Configuration
      @ComponentScan(basePackages = {"com.djl.aopxml"})
      @EnableAspectJAutoProxy(proxyTargetClass = true)
      public class comfig {
      }
      ?

       

      posted on 2020-09-18 13:47  佳林L  閱讀(109)  評論(0)    收藏  舉報
      主站蜘蛛池模板: 精品一区二区无码免费| 精品一区二区三区在线播放视频| 成人3d动漫一区二区三区| 西西444www高清大胆| 亚洲avav天堂av在线网爱情| 麻豆国产成人AV在线播放| 亚洲欧美人成网站在线观看看| 日韩亚洲精品中文字幕| av老司机亚洲精品天堂| 韩国无码AV片午夜福利| 无码激情亚洲一区| 国产亚洲精品综合一区二区| 无码AV无码免费一区二区| 壶关县| 午夜男女爽爽影院在线| 亚洲熟妇精品一区二区| 国产午夜大地久久| 99久久亚洲综合精品成人网| 国产日韩一区二区四季| 久久精品国产亚洲AV成人毛片| 国产成人av一区二区三| 亚洲AV旡码高清在线观看| 1000部拍拍拍18勿入免费视频下载| 久久精品国产色蜜蜜麻豆| 成人国产精品一区二区网站公司| aaa少妇高潮大片免费看| 亚洲国产精品一区二区第一页 | 亚洲精品乱码久久久久久中文字幕| 国产精品午夜福利91| 丰腴饱满的极品熟妇| 尤物yw193无码点击进入 | 亚洲免费人成在线视频观看| 色综合色国产热无码一| 久久婷婷大香萑太香蕉av人| 国产美女久久久亚洲综合 | 人妻无码中文专区久久app| 欧洲女人牲交性开放视频| 国产精品伊人久久综合网| 阿巴嘎旗| 国产目拍亚洲精品二区| 国产精品自在拍首页视频8|