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

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

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

    我的Blog我做主^_^

    走向一條通往JAVA的不歸路...

      BlogJava :: 首頁 :: 新隨筆 :: 聯(lián)系 :: 聚合  :: 管理 ::
      64 隨筆 :: 68 文章 :: 77 評(píng)論 :: 0 Trackbacks

    一、
    package com.spring.aop.test.aspectj.test_2;

    import java.util.Date;

    /**
     * 管理員
     * @author Administrator
     *
     */
    public class Operator {

     private Integer id ;
     private String name ;
     private String password ;
     private Integer popedom ;
     private Date loginTime ;
     ..set()/get().... 
    }

    二、

    package com.spring.aop.test.aspectj.test_2;

    import java.util.Date;

    /**
     * 新聞?lì)悇e信息
     * @author Administrator
     *
     */
    public class NewsType {

     private Integer id ;
     private String typeName ;
     private String desc ;
     private Operator operator ;
     private Date addTime ;
     
     public NewsType(){}
     ...set()/get()...
    }

    三、

    package com.spring.aop.test.aspectj.test_2;

    import java.util.List;

    public interface BasicDao<T> {

     boolean save(T t) ;
     boolean delete(T t) ;
     boolean update(T t) ;
     T get(Integer id) ;
     List<T> get() ; 
    }

    四、

    package com.spring.aop.test.aspectj.test_2;

    import java.util.List;

    public class NewsTypeDaoImpl implements BasicDao<NewsType> {

     public boolean delete(NewsType t) {
      
      System.out.println("=======刪除NewsType對(duì)象=======");
      return true;
     }

     public NewsType get(Integer id) {

      System.out.println("=======獲取一個(gè)NewsType對(duì)象=======");
      return new NewsType();
     }

     public List<NewsType> get() {
      
      System.out.println("======獲取一個(gè)NewsType對(duì)象列表======");
      return null;
     }

     public boolean save(NewsType t) {
      
      System.out.println("======保存NewsType對(duì)象======");
      return true;
     }

     public boolean update(NewsType t) {
      
      System.out.println("======更新NewsType對(duì)象======");
      return true;
     }

    }


    五、

    package com.spring.aop.test.aspectj.test_2;

    import java.io.*;
    import java.util.Date;


    public aspect NewsTypeAspect {

     private static java.text.SimpleDateFormat df=new java.text.SimpleDateFormat("yyyy-MM-dd H:m:s");
     
     //定義操作時(shí)間切入點(diǎn)
     pointcut operatorTime(): execution(* *.*());
     //定義保存切入點(diǎn)
     pointcut saveNewsType(NewsTypeDaoImpl dao): target(dao)&&execution(boolean NewsTypeDaoImpl.save(NewsType));
     //定義刪除切入點(diǎn)
     pointcut deleteNewsType(NewsTypeDaoImpl dao): target(dao)&&execution(boolean NewsTypeDaoImpl.delete(NewsType));
     
     //輸出操作開始時(shí)間
     before(): operatorTime(){
      
      System.out.println("用戶操作開始時(shí)間:"+df.format(new Date()));
     }
     //保存時(shí),判斷用戶是否擁有保存權(quán)限
     boolean around(NewsTypeDaoImpl dao): saveNewsType(dao){

      NewsType type = (NewsType)thisJoinPoint.getArgs()[0];
      if(type.getOperator().getPopedom() > 0){
       
       System.out.println("====開始保存NewsType對(duì)象====");
       System.out.println("保存時(shí)間:"+df.format(new Date()));
       return proceed(dao);
      }else{
       
       System.out.println("你暫時(shí)還沒有保存NewsType對(duì)象的權(quán)利");
       System.out.println("你的權(quán)限為:"+type.getOperator().getPopedom());
       return false;
      }
     }
     
     //刪除時(shí),要提示用戶是否真的要?jiǎng)h除此對(duì)象
     boolean around(NewsTypeDaoImpl dao): deleteNewsType(dao){
      
      boolean flag = false;
      try{
       
       NewsType type = (NewsType)thisJoinPoint.getArgs()[0];
       
       if(type.getOperator().getPopedom() > 0){
        
        BufferedReader stdin = new BufferedReader(new InputStreamReader(System.in));
        System.out.println("開始刪除操作......");
        System.out.println("Enter a operator<Y/N>:");
        String info = stdin.readLine();
        
        if(info.indexOf("Y") != -1){
         
         System.out.println("可以刪除......");
         flag = proceed(dao);
         if(flag){
          
          System.out.println("=======刪除Newstype對(duì)象成功=======");
         }else{
          
          System.out.println("=======刪除NewsType對(duì)象失敗=======");
         }
        }else{
         
         System.out.println("數(shù)據(jù)未被刪除......");
        }
       }else{
        
        System.out.println("你沒有刪除NewsType對(duì)象的權(quán)限......");
       }
      }catch(Exception e){
       
       System.out.println(e.getMessage());
      }
      return flag;
     }
     
    }

    六、

    package com.spring.aop.test.aspectj.test_2;

    public class NewsTypeDaoTest {

     public static void main(String[] arg){
      
      Operator op = new Operator();
      op.setId(1);
      op.setName("admin");
      op.setPassword("password");
      op.setPopedom(1);
      
      NewsType type = new NewsType();
      type.setId(1);
      type.setOperator(op);
      type.setTypeName("新聞");
      
      NewsTypeDaoImpl dao = new NewsTypeDaoImpl();
    //  if(dao.save(type)){
    //   
    //   System.out.println("save ok......");
    //  }else{
    //   
    //   System.out.println("save failed......");
    //  }
      
      if(dao.delete(type)){
       
       System.out.println("delete NewsType succ......");
      }else{
       
       System.out.println("delete NewsType failed......");
      }
     }
    }



    posted on 2007-04-05 19:02 java_蟈蟈 閱讀(303) 評(píng)論(0)  編輯  收藏

    只有注冊(cè)用戶登錄后才能發(fā)表評(píng)論。


    網(wǎng)站導(dǎo)航:
     
    主站蜘蛛池模板: 国产精品免费在线播放| 精品国产免费观看久久久| 鲁死你资源站亚洲av| 国产自国产自愉自愉免费24区| 亚洲 欧洲 自拍 另类 校园| 亚洲成人在线网站| 亚洲成a人在线看天堂无码| 无码的免费不卡毛片视频 | 色屁屁在线观看视频免费| 亚洲人成毛片线播放| 亚洲av日韩av不卡在线观看| 久久久久亚洲AV成人网人人软件 | 亚洲AV无码一区二区一二区| 亚洲日韩乱码中文无码蜜桃臀| 亚洲不卡av不卡一区二区| 亚洲成人影院在线观看| 日本免费高清一本视频| 性感美女视频在线观看免费精品| 97视频免费在线| 四虎精品视频在线永久免费观看| 日韩免费在线观看视频| 最近免费中文字幕MV在线视频3| 一级特黄a免费大片| 免费无码一区二区| 无人视频免费观看免费视频 | 亚洲精品综合久久| 亚洲精品国产高清不卡在线| 大胆亚洲人体视频| 3344永久在线观看视频免费首页| 免费看无码特级毛片| 久爱免费观看在线网站| 国产成人免费AV在线播放 | 国产亚洲精品无码专区| 国产成人精品日本亚洲专区| 国产a v无码专区亚洲av| 国产自偷亚洲精品页65页| 亚洲最大激情中文字幕| 国产亚洲人成无码网在线观看| 亚洲欧洲自拍拍偷午夜色无码| 亚洲av中文无码乱人伦在线r▽| 亚洲国产精品无码av|