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

参考答案

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

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

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

 

2. 静态代理的源码解析

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

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

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

 

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

输出,是最好的学习方法

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

—end—

 

0 条回复 A文章作者 M管理员
欢迎您,新朋友,感谢参与互动!
    暂无讨论,说说你的看法吧