<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    千山鳥(niǎo)飛絕 萬(wàn)徑人蹤滅
    勤練內(nèi)功,不斷實(shí)踐招數(shù)。爭(zhēng)取早日成為武林高手
    Spring提供了兩種切面聲明方式,實(shí)際工作中我們可以選用其中一種:
          基于XML配置方式聲明切面。
          基于注解方式聲明切面。
    要進(jìn)行AOP編程,首先我們要在spring的配置文件中引入aop命名空間:
    <beans xmlns="http://www.springframework.org/schema/beans"
           xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
           xmlns:aop="http://www.springframework.org/schema/aop"
           xsi:schemaLocation="http://www.springframework.org/schema/beans
               http://www.springframework.org/schema/beans/spring-beans-2.5.xsd
               http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-2.5.xsd">
    </beans>


    基于注解方式聲明切面

    @Aspect
    public class LogPrint {
     @Pointcut("execution(* cn.itcast.service..*.*(..))")
     private void anyMethod() {}//聲明一個(gè)切入點(diǎn) 
     @Before("anyMethod() && args(userName)")//定義前置通知
     public void doAccessCheck(String userName) {
     } 
     @AfterReturning(pointcut="anyMethod()",returning="revalue")//定義后置通知
     public void doReturnCheck(String revalue) {
     }
     @AfterThrowing(pointcut="anyMethod()", throwing="ex")//定義例外通知
        public void doExceptionAction(Exception ex) {
     }
     @After("anyMethod()")//定義最終通知
     public void doReleaseAction() {
     }
     @Around("anyMethod()")//環(huán)繞通知
     public Object doBasicProfiling(ProceedingJoinPoint pjp) throws Throwable {
      return pjp.proceed();
     }
    }



    基于基于XML配置方式聲明切面


    public class LogPrint {
     public void doAccessCheck() {}定義前置通知
     public void doReturnCheck() {}定義后置通知
        public void doExceptionAction() {}定義例外通知
     public void doReleaseAction() {}定義最終通知
     public Object doBasicProfiling(ProceedingJoinPoint pjp) throws Throwable {
      return pjp.proceed();環(huán)繞通知
     }
    }


    <bean id="orderservice" class="cn.itcast.service.OrderServiceBean"/>
    <bean id="log" class="cn.itcast.service.LogPrint"/>
    <aop:config>
      <aop:aspect id="myaop" ref="log">
       <aop:pointcut id="mycut" expression="execution(* cn.itcast.service..*.*(..))"/>
       <aop:before pointcut-ref="mycut" method="doAccessCheck"/>
       <aop:after-returning pointcut-ref="mycut" method="doReturnCheck "/>
       <aop:after-throwing pointcut-ref="mycut" method="doExceptionAction"/>
       <aop:after pointcut-ref="mycut" method=“doReleaseAction"/>
       <aop:around pointcut-ref="mycut" method="doBasicProfiling"/>
      </aop:aspect>
    </aop:config>
     

    posted on 2009-09-02 12:14 笑口常開(kāi)、財(cái)源滾滾來(lái)! 閱讀(2178) 評(píng)論(0)  編輯  收藏 所屬分類(lèi): spring學(xué)習(xí)
     
    主站蜘蛛池模板: a在线视频免费观看在线视频三区| 91亚洲视频在线观看| 免费国产草莓视频在线观看黄| 在线观看免费成人| 亚洲精品动漫免费二区| 大陆一级毛片免费视频观看| 亚洲人成网亚洲欧洲无码| 成人免费无码大片A毛片抽搐| 亚洲欧美不卡高清在线| 国产一区二区免费在线| 国产精品九九久久免费视频| 亚洲精品蜜桃久久久久久| 一级毛片免费观看| 91亚洲国产成人久久精品网址| 青苹果乐园免费高清在线| 亚洲精品国产首次亮相| 亚洲无码高清在线观看| 国产精品99久久免费观看| 亚洲色欲或者高潮影院| 天天天欲色欲色WWW免费| 香蕉视频在线观看免费| 国产AV无码专区亚洲AV手机麻豆| 男人都懂www深夜免费网站| 久久精品国产亚洲av日韩| 国产成人A在线观看视频免费| 美女羞羞视频免费网站| 久久精品国产亚洲av麻豆| 国产一精品一AV一免费孕妇| 国产亚洲蜜芽精品久久| 亚洲国产精品国自产拍AV| 7723日本高清完整版免费| 免费VA在线观看无码| 亚洲午夜未满十八勿入| 毛片免费在线观看网址| 国产精品偷伦视频免费观看了| 久久精品国产亚洲精品2020| 免费萌白酱国产一区二区| 免费国产成人18在线观看| 亚洲AV永久无码精品一福利| 亚洲国产精品一区二区成人片国内 | 亚洲色大成网站www永久一区|