JDK动态代理
  Olt1rl96HKat 2023年12月22日 20 0

接口类:

public interface HelloService {
    String sayHello(String name);
}

实现类:

public class HelloServiceImpl implements HelloService{

    @Override
    public String sayHello(String name) {
        return "你好," + name;
    }
}

客户端client:

public static void main(String[] args) {
        HelloService helloService = new HelloServiceImpl();
        HelloService aa = (HelloService) Proxy.newProxyInstance(HelloServiceImpl.class.getClassLoader(), HelloServiceImpl.class.getInterfaces(), new InvocationHandler() {
            /**
             * Object proxy:被代理对象的引用,系统会自动创建被代理对象的一个映射
             * Method method:被代理对象的方法
             * @param args
             * Object[] args:被代理对象方法的参数
             * 返回值是被代理对象执行后的返回值
             */
            @Override
            public Object invoke(Object proxy, Method method, Object[] args) throws Throwable {
                //被代理对象方法的执行,并获得返回值
                Object result = method.invoke(helloService, args);
                return result;
            }
        });
        String result = aa.sayHello("ss");
        System.out.println("result:" + result);
    }
【版权声明】本文内容来自摩杜云社区用户原创、第三方投稿、转载,内容版权归原作者所有。本网站的目的在于传递更多信息,不拥有版权,亦不承担相应法律责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@moduyun.com

  1. 分享:
最后一次编辑于 2023年12月22日 0

暂无评论

推荐阅读
  Olt1rl96HKat   2023年12月22日   21   0   0 动态代理动态代理
Olt1rl96HKat
作者其他文章 更多

2023-12-22

2023-12-22

2023-12-15

2023-12-15

2023-12-15

2023-12-15

2023-12-15