<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 框架靈活 更上一層 (期待)


    主站蜘蛛池模板: 3d动漫精品啪啪一区二区免费| 亚洲色WWW成人永久网址| 免费看成人AA片无码视频吃奶| 国产精品高清视亚洲一区二区| 亚洲国产精品无码专区在线观看| 无码国模国产在线观看免费| 成年人视频免费在线观看| 日韩免费电影网址| 国产精品免费看久久久香蕉| 色偷偷亚洲男人天堂| 亚洲一区二区久久| 亚洲视频免费播放| 亚洲成色www久久网站夜月| 亚洲视频在线一区二区| 国产精品免费视频一区| 日本免费一本天堂在线| 免费无码AV电影在线观看| 思思re热免费精品视频66| 91精品国产免费入口| 午夜视频在线免费观看| 精品成人免费自拍视频| 日本在线免费播放| 无码精品一区二区三区免费视频 | 国产一卡二卡四卡免费| 久久国产乱子免费精品| 国产无遮挡裸体免费视频在线观看| 日本高清不卡中文字幕免费| 美女视频黄.免费网址| 国产精品亚洲一区二区三区久久| 亚洲国产成人综合精品| 亚洲av日韩综合一区二区三区| 亚洲av无码日韩av无码网站冲| 亚洲成熟丰满熟妇高潮XXXXX| 亚洲国产精品无码久久九九大片| 在线aⅴ亚洲中文字幕| 亚洲国产一区二区三区在线观看| 亚洲爆乳AAA无码专区| 国产精品亚洲五月天高清| 黄色免费网址在线观看| 一区二区在线视频免费观看| 国产精品免费久久久久影院|