参考答案
静态代理的使用方法及实现步骤(附源码解析)如下:
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—