多语言展示
当前在线:425今日阅读:112今日分享:19

java代理模式:jdk实现的动态代理

java代理模式分为动态模式和静态模式,其中动态模式的实现方式之一是利用JDK自带的InvocationHandler接口来实现,该种方式代理对象只能是接口;具体如何运用,以下以测试代码简单说明。
工具/原料
1

jdk1.8

2

IntelliJ IDEA

方法/步骤
1

因jdk自带的代理实现只能运用于代理接口,因此先创建一个接口以及其实现类。

2

创建代理类,实现InvocationHandler接口。

3

引入Object类作为目标对象,重写有参构造器,并且重写invoke方法,加入前置后置通知,以及调用Object类方法。

4

编写测试方法,首先传入目标对象并实例化代理类;

5

利用Proxy对象,生成动态代理对象,并调用目标对象中的方法;

6

运行测试类,得出动态代理的结果。

7

总结使用jdk动态代理的步骤:首先需要以有参构造(参数为目标对象)实现InvocationHandler接口的实例,然后利用Proxy对象生成动态代理对象。最后调用通过动态代理对象调用目标对象方法。

注意事项

jdk的动态代理目标对象只能是接口

推荐信息