java静态代理实现代码

来源:互联网 发布:北京淘宝供货商 编辑:程序博客网 时间:2024/05/21 17:09

静态代理

接口public interface UserService {    void queryUsers();}
实现类public class UserServiceImp implements UserService {    @Override    public void queryUsers() {        System.out.println("用户查询");    }}
代理类public class UserServiceProxy implements UserService {    private UserService userService;    public UserServiceProxy(UserService userService) {        this.userService = userService;    }    @Override    public void queryUsers() {       System.out.println("开始用户查询");       userService.queryUsers();       System.out.println("用户查询完成");    }}
测试类public class test {    @Test    public void testName() throws Exception {        UserService userService = new UserServiceImp();        userService = new UserServiceProxy(userService);        userService.queryUsers();    }}

测试结果:

开始用户查询
用户查询
用户查询完成

总结:
1, 静态代理在使用时,需要定义接口或是父类,被代理对象与代理对象一起实现相同的接口或者是继承相同父类。
2, 静态代理存在一个问题:当我们在被代理的类中增加了一个方法,代理类中也要增加相应方法。

0 0