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