• <ruby id="5koa6"></ruby>
    <ruby id="5koa6"><option id="5koa6"><thead id="5koa6"></thead></option></ruby>

    <progress id="5koa6"></progress>

  • <strong id="5koa6"></strong>
    • 軟件測試技術
    • 軟件測試博客
    • 軟件測試視頻
    • 開源軟件測試技術
    • 軟件測試論壇
    • 軟件測試沙龍
    • 軟件測試資料下載
    • 軟件測試雜志
    • 軟件測試人才招聘
      暫時沒有公告

    字號: | 推薦給好友 上一篇 | 下一篇

    軟件測測之框架:一個使用spring框架AOP的有趣例子

    發布: 2009-11-04 10:49 | 作者: 不詳 | 來源: 領測軟件測試網采編 | 查看: 196次 | 進入軟件測試論壇討論

    領測軟件測試網 軟件測測之框架:一個使用spring框架AOP的有趣例子  軟件測試工具

    關鍵字:

     

    接觸spring有一段時間了,不過都是看的多,寫的少,工作忙,公司也不準備用。自己寫過一些小東西用到,也只用到了BeanFactory組裝對象,JdbcTemplate代替jdbc,事務管理。。。東抓一把,西抓一把,沒形成系統。最近也在看spring自帶的reference,一時手癢,寫了個AOP的創建advice的例子,比之單純地使用TransationProxyFactoryBean對AOP的理解又深入了點,打算看看它的源代碼,基于CGLIB的實現對類的代理不了解,倒是好奇它如何實現對接口的代理??也就是利用J2SE的動態代理技術。

    例子如下:講述一間書店開始打折促銷,規則是每一名顧客只能買一本書,而且< spring in action>已經脫銷了。。。。。你可以去掉TestAdvice里的注釋看看各種運行結果,具體就不解釋咯,在代碼注釋里。

    首先,你必須對增強(advice)有所了解,增強就是在特定連接點執行的動作。advice contains the logic of your aspect。增強,分為4類:

    前增強(before) 在連接點之前調用
    后增強(after) 在連接點執行之后調用、
    環繞增強(around) 完整控制整個方法流程,必須調用MethodInvocation的proceed促使真實操作發生
    異常增強 針對某個異常拋出時調用
    書店,一個buyBook業務:

    package com.denny_blue.springdemo.aop;

    public interface BuyBook {
           public void buyBook(String customer,String book)throws NoThisBookException;
    }


    實現此接口的一個業務對象,如果顧客要買< spring in action>就拋出NoThisBookException異常。

    package com.denny_blue.springdemo.aop;

    public class MyBuyBook implements BuyBook {
     public void buyBook(String customer,String book)throws NoThisBookException{
      if(book.equals("< spring in action>"))
       throw new NoThisBookException("對不起,沒有"+book+"存貨了!");
      System.out.println(customer+",你好,你已經購買了一本"+book+"!");
     }
    }

     

    自定義兩個異常類,其中NoThisBookException被拋出時將觸發MyThrowsAdvice調用:

    //NoThisBookException.java

    package com.denny_blue.springdemo.aop;


    public class NoThisBookException extends RuntimeException {
     public NoThisBookException(String msg){
      super(msg);
     }

    }

    //BuyBookException.java

    延伸閱讀

    文章來源于領測軟件測試網 http://www.kjueaiud.com/

    TAG: aop AOP spring Spring 框架 例子 軟件

    41/41234>

    關于領測軟件測試網 | 領測軟件測試網合作伙伴 | 廣告服務 | 投稿指南 | 聯系我們 | 網站地圖 | 友情鏈接
    版權所有(C) 2003-2010 TestAge(領測軟件測試網)|領測國際科技(北京)有限公司|軟件測試工程師培訓網 All Rights Reserved
    北京市海淀區中關村南大街9號北京理工科技大廈1402室 京ICP備10010545號-5
    技術支持和業務聯系:info@testage.com.cn 電話:010-51297073

    軟件測試 | 領測國際ISTQBISTQB官網TMMiTMMi認證國際軟件測試工程師認證領測軟件測試網

    老湿亚洲永久精品ww47香蕉图片_日韩欧美中文字幕北美法律_国产AV永久无码天堂影院_久久婷婷综合色丁香五月

  • <ruby id="5koa6"></ruby>
    <ruby id="5koa6"><option id="5koa6"><thead id="5koa6"></thead></option></ruby>

    <progress id="5koa6"></progress>

  • <strong id="5koa6"></strong>