静态代理的使用方法及实现步骤(附源码解析)

参考答案

静态代理的使用方法及实现步骤(附源码解析)如下:

1.  静态代理的使用方法及实现步骤

  • 创建一个接口;
  • 创建被代理的类,实现该接口,并且实现该接口中的抽象方法;
  • 创建一个代理类,同时让这个代理类,也实现这个接口;
  • 在代理类中,持有一个被代理对象的引用。在代理类方法中,调用该对象的方法。

 

2. 静态代理的源码解析

public interface UserDao {    
  void save();     
}
public class UserDaoImpl implements UserDao {
    @Override
    public void save() {
        System.out.println("正在保存用户...");
    }
}
public class TransactionHandler implements UserDao {
    //目标代理对象
    private UserDao target;
    //构造代理对象时传入目标对象
    public TransactionHandler(UserDao target) {
        this.target = target;
    }
    @Override
    public void save() {
        //调用目标方法前的处理
        System.out.println("开启事务控制...");
        //调用目标对象的方法
        target.save();
        //调用目标方法后的处理
        System.out.println("关闭事务控制...");
    }
}
public class Main {
    public static void main(String[] args) {
        //新建目标对象
        UserDaoImpl target = new UserDaoImpl();
        //创建代理对象, 并使用接口对其进行引用
        UserDao userDao = new TransactionHandler(target);
        //针对接口进行调用
        userDao.save();
    }
}

使用 JDK 静态代理,非常方便就能完成对一个类的代理操作。

但是, 因为代理只可以服务于一个类,若要代理的类比较多,就得编写大量的代理类,这在操作上很繁琐。

 

以上,是Java面试题【静态代理的使用方法及实现步骤(附源码解析)】的参考答案。

输出,是最好的学习方法

欢迎在评论区留下你的问题、笔记或知识点补充~

—end—

 

0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧