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