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

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

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

    posts - 165, comments - 198, trackbacks - 0, articles - 1
      BlogJava :: 首頁 :: 新隨筆 :: 聯系 :: 聚合  :: 管理

    我的AOP學習(AspectJ)

    Posted on 2007-10-15 16:57 G_G 閱讀(1167) 評論(0)  編輯  收藏 所屬分類: AOP
    學習擁有連貫
    在我剛認識 讓 java 動態 這種動態編譯動態加載的幾天后
    對我一向不懂的 AOP 特別是 AspectJ 開竅了 (哈哈 那感覺好啊^_^)
    下面我寫出我剛對AOP的一些小練

    1。目的
    DAO中大量的 session的開和閉 不緊使代碼成倍加,還及容易出錯
    用 設計模式
    hibernate 包裝 下大家好象有點接受不了(@_@!)
    AOP就進入我的視線 但總沒個切入點

    2。原理
    其實 讓 java 動態 就是那點東西 但IBM 包出個好用的框架 來 。

    3。代碼說明
    //*******************Dao.java ****************************
    package
    ?tt;
    //為了簡單 session 看成是 真的session 哈 ^_^
    public?class?Dao?{
    ????
    public?String?session?=?"close"?;?
    ????
    ????
    public?void?testDao(){
    ????????System.out.println(?
    "testDao?in?function?:?"+?session);
    ????}
    ????
    ????
    static?public?void?main(String[]args){
    ????????Dao?dao?
    =?new?Dao()?;
    ????????dao.testDao();
    ????????System.out.println(
    "main?in?function?:?"?+??dao.session);
    ????}
    }

    //*****************List.aj ****************************
    package?tt;

    public?aspect?List?{
    ??? //切點? 范圍聲明? (Dao.testDao 歸 readOnly切點管? )
    ????pointcut?readOnly(Dao?dao):execution(
    *?*Dao.testDao*(..))&&this(dao);

    ????//掛載
    readOnly 開始方法
    ?????before(Dao?dao)?:??readOnly(dao)?{?????????
    ?????????????openSession(dao);
    ??????}
    ???? //掛載 readOnly 結束方法
    ?????after(Dao?dao)?returning()??:??readOnly(dao)?{
    ??????????close(dao);
    ?????}
    ????
    ????
    // readOnly 方法 運行代碼 (到這可以大膽的寫 java 代碼了 ) 。。。。
    ?????private?void?openSession(Dao?dao)?{
    ?????????
    if(dao.session.equals("close"))
    ?????????????dao.session?
    =?"Session?Open";
    ?????}
    ?????
    private?void?close(Dao?dao)?{
    ?????????dao.session?
    =?"close"?;
    ?????}
    }

    4。結果:
    testDao in function : Session Open
    main in function : close



    4。后續
    AspectJ 使 AOP 簡單
    可能還會統一標準
    能為我們的java 框架靈活 更上一層 (期待)


    主站蜘蛛池模板: 亚洲高清乱码午夜电影网| 亚洲男人的天堂在线播放| 亚洲人成网国产最新在线| 91麻豆国产免费观看| 亚洲综合视频在线| 无码午夜成人1000部免费视频| 久久精品7亚洲午夜a| 国产特黄一级一片免费 | 国产一级做a爱免费视频| 亚洲欧美日韩中文无线码| 最近中文字幕mv免费高清视频7| 狠狠色香婷婷久久亚洲精品| 日韩精品无码区免费专区| 国产亚洲精品VA片在线播放| 女人被男人桶得好爽免费视频| 亚洲真人无码永久在线观看| 日韩精品视频免费网址| 美女视频黄视大全视频免费的| 久久精品国产精品亚洲| 国产激情免费视频在线观看| 亚洲综合一区二区精品久久| 毛片A级毛片免费播放| 免费播放美女一级毛片| 亚洲中文字幕无码久久精品1| 久久精品私人影院免费看| 亚洲最大视频网站| 免费少妇a级毛片人成网| 中文字幕免费视频精品一| 91亚洲导航深夜福利| 色妞WWW精品免费视频| 特级毛片在线大全免费播放| 亚洲AV无码专区国产乱码4SE | 中文字幕亚洲综合久久| 免费观看a级毛片| 国产精品免费观看视频| 亚洲神级电影国语版| 免费一级国产生活片| 91禁漫免费进入| 国产午夜亚洲精品不卡免下载| 亚洲国产精品无码一线岛国| 久久受www免费人成_看片中文|