静态代理

tech2023-10-02  96

创建主题接口创建被代理类,实现主题接口创建代理类,实现主题接口使用重写的构造方法创建代理类对象,调用要执行的方法。 public class TestProxy { @Test public void test1(){ TimeProxy tp = new TimeProxy(new GoodsDAO()); tp.add(); } @Test public void test2(){ TimeProxy tp = new TimeProxy(new UserDAO()); tp.add(); } } //主题接口 interface DAO{ void add(); } //被代理类 class GoodsDAO implements DAO{ public void add(){ System.out.println("商品的添加"); } } class UserDAO implements DAO{ public void add(){ System.out.println("用户的添加"); } } //代理类 class TimeProxy implements DAO{ private DAO target;//target表示被代理者对象 public TimeProxy(DAO target) { super(); this.target = target; } @Override public void add() { long start = System.currentTimeMillis(); target.add();//核心业务逻辑交还给被代理者 long end = System.currentTimeMillis(); System.out.println("时间差:" +(end-start)); } }

在开发中,EmployeeSevice接口,相当于主题接口;

EmployeeService接口的实现类EmployeeServiceImpl,相当于被代理类

EmployeeServiceProxy相当于代理类

 

最新回复(0)