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


    主站蜘蛛池模板: 亚洲Av无码专区国产乱码DVD| 一本久久综合亚洲鲁鲁五月天| 亚洲男人天堂av| caoporm超免费公开视频| 四虎影视永久免费观看网址| 国产精品亚洲专区一区| 国产麻豆免费观看91| 亚洲综合一区二区三区四区五区| 在线观看免费高清视频| 亚洲伦理中文字幕| 女人让男人免费桶爽30分钟| 亚洲精华国产精华精华液网站| 免费一级特黄特色大片在线 | 午夜国产精品免费观看| 亚洲午夜精品国产电影在线观看| 1000部禁片黄的免费看| 亚洲乱码在线观看| 日本高清免费中文字幕不卡| 一级做a爰片久久免费| 亚洲精品无码成人AAA片| 一级毛片免费不卡在线| 亚洲伊人久久大香线蕉| 四虎成人精品一区二区免费网站| 久久水蜜桃亚洲AV无码精品| 国产a v无码专区亚洲av| 全免费a级毛片免费看| 亚洲国产亚洲片在线观看播放| 四虎成人精品一区二区免费网站| 无码AV动漫精品一区二区免费 | 亚洲&#228;v永久无码精品天堂久久| 一级毛片免费播放男男| 亚洲av无码乱码国产精品| 国产免费久久精品99re丫y| 亚洲AV综合永久无码精品天堂| 亚洲日韩中文字幕日韩在线| 一级毛片免费观看| 日韩欧美亚洲国产精品字幕久久久| 综合亚洲伊人午夜网| 亚洲人成免费电影| 一道本在线免费视频| 亚洲狠狠狠一区二区三区|