zoukankan      html  css  js  c++  java
  • 15_AOP入门准备_静态代理模式

    【工程截图】

    【PersonDao.java】

    package com.HigginCui.daoProxy;
    
    public interface PersonDao {
        public void savePerson();
    }

    【PersonDaoImpl.java】

    package com.HigginCui.daoProxy;
    
    public class PersonDaoImpl implements PersonDao{
        @Override
        public void savePerson() {
            System.out.println("save Person...");
        }
    
    }

    【Transaction.java】

    package com.HigginCui.daoProxy;
    
    public class Transaction {
        public void beginTransaction(){
            System.out.println("begin transaction...");
        }
        public void commit(){
            System.out.println("begin commit...");
        }
    }

    【PersonDaoProxy.java】

    package com.HigginCui.daoProxy;
    
    public class PersonDaoProxy implements PersonDao{
        private PersonDao personDao;
        private Transaction transaction;
        
        public PersonDaoProxy(PersonDao personDao,Transaction transaction){
            this.personDao=personDao;
            this.transaction=transaction;
        }
        @Override
        public void savePerson() {
            //1.开启事务
            this.transaction.beginTransaction();
            //2.进行save操作
            this.personDao.savePerson();
            //3.事务提交 
            this.transaction.commit();
        }
    }

    【testPerson.java】

    package com.HigginCui.test;
    
    import org.junit.Test;
    
    import com.HigginCui.daoProxy.PersonDao;
    import com.HigginCui.daoProxy.PersonDaoImpl;
    import com.HigginCui.daoProxy.PersonDaoProxy;
    import com.HigginCui.daoProxy.Transaction;
    
    public class testPerson {
        @Test
        public void test(){
            PersonDao personDao=new PersonDaoImpl();
            Transaction transaction=new Transaction();
            PersonDaoProxy personDaoProxy=new PersonDaoProxy(personDao,transaction);
            personDaoProxy.savePerson();
        }
    }

    【运行结果】

    begin transaction...
    save Person...
    begin commit...
  • 相关阅读:
    BETA 版冲刺前准备
    Alpha 事后诸葛亮(团队)
    Learn Docker(一)—软件安装与常规操作
    Alpha 答辩总结
    Alpha 冲刺 (10/10)
    Alpha 冲刺 (9/10)
    Alpha 冲刺 (8/10)
    Alpha 冲刺 (7/10)
    Alpha 冲刺 (6/10)
    团队作业-随堂小测(同学录)
  • 原文地址:https://www.cnblogs.com/HigginCui/p/5579310.html
Copyright © 2011-2022 走看看