目錄結構:
目標對象接口實現【UserService】:
public interface UserService {
public void AddUser();
}
目標對象接口實現類【UserServiceImpl】:
public class UserServiceImpl implements UserService {
@Override
public void AddUser() {
System.out.println("添加員工成功");
}
}
代理對象類實現:【MyProxy】:
// 代理對象
public class MyProxy implements UserService {
// 目標對象
private UserService target;
// 代理對象構造方法
public MyProxy(UserService target) {
this.target = target;
}
@Override
public void AddUser() {
// 代理開始
System.out.println("靜態代理開始");
// 執行目標方法
target.AddUser();
// 代理結束
System.out.println("靜態代理結束");
}
}
測試類:
public class MyTest {
@Test
public void f(){
// 創建目標對象
UserService target = new UserServiceImpl();
// 創建代理對象 將目標對象作爲參數傳入
MyProxy myProxy = new MyProxy(target);
// 執行代理對象的方法
myProxy.AddUser();
}
}
執行結果: