<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人片在线播放器| 亚洲精品自产拍在线观看| 免费高清在线爱做视频| 57pao一国产成永久免费| 中文字幕乱码系列免费| 国产亚洲人成在线影院| 亚洲成a人片在线看| 久久久综合亚洲色一区二区三区 | 最近中文字幕无吗高清免费视频| 国产免费内射又粗又爽密桃视频 | 国产a级特黄的片子视频免费| 无码国产精品一区二区免费式直播 | 黄色视屏在线免费播放| 国产精品亚洲一区二区三区久久| 亚洲性猛交xx乱| 久久亚洲美女精品国产精品| 亚洲精品国偷自产在线| 国产精品亚洲综合专区片高清久久久 | 亚洲精品国精品久久99热一| 亚洲无线一二三四区手机| 国产伦一区二区三区免费| 午夜电影免费观看| 最近中文字幕mv免费高清视频7| 蜜臀98精品国产免费观看| 无码精品一区二区三区免费视频| 中文字幕无线码免费人妻| 久久久WWW成人免费精品| a免费毛片在线播放| 九九免费观看全部免费视频| 日韩一级片免费观看| 乱淫片免费影院观看| 亚洲黄片手机免费观看| 人妻仑刮八A级毛片免费看| 免费国产黄网站在线看| 一级做a爰片性色毛片免费网站| 日韩少妇内射免费播放| 4hu四虎免费影院www| 国产乱子伦精品免费视频|