国产片侵犯亲女视频播放_亚洲精品二区_在线免费国产视频_欧美精品一区二区三区在线_少妇久久久_在线观看av不卡

服務器之家:專注于服務器技術及軟件下載分享
分類導航

PHP教程|ASP.NET教程|Java教程|ASP教程|編程技術|正則表達式|C/C++|IOS|C#|Swift|Android|VB|R語言|JavaScript|易語言|vb.net|

服務器之家 - 編程語言 - Java教程 - Java JDK 動態代理的使用方法示例

Java JDK 動態代理的使用方法示例

2020-12-03 10:02再見理想2017 Java教程

Java 動態代理機制以巧妙的方式近乎完美地實踐了代理模式的設計理念。下面這篇文章主要給大家分享了關于Java JDK 動態代理的使用方法示例,文中通過示例代碼介紹的非常詳細,需要的朋友可以參考借鑒,下面來一起看看吧。

本文主要和大家分享介紹了關于Java JDK 動態代理使用的相關內容,分享出來供大家參考學習,下面來一起看看詳細的介紹:

前言

代理是一種常用的設計模式,其目的就是為其他對象提供一個代理以控制對某個對象的訪問。代理類負責為委托類預處理消息,過濾消息并轉發消息,以及進行消息被委托類執行后的后續處理。

Spring AOP的實現對于接口來說就是使用的JDK的動態代理來實現的,而對于類的代理使用CGLIB來實現。

JDK的動態代理,就是在程序運行的過程中,根據被代理的接口來動態生成代理類的class文件,并加載運行的過程。

使用

首先創建接口

?
1
2
3
4
public interface Subject {
 
 void test();
}

創建實現類

?
1
2
3
4
5
6
7
public class SubjectImpl implements Subject {
 
 @Override
 public void test() {
 System.out.println("This is test method");
 }
}

創建InvocationHandler實現類

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
public class SubjectInvocationHandler implements InvocationHandler {
 
 private Subject target;
 
 public SubjectInvocationHandler(Subject subject) {
 this.target = subject;
 }
 
 @Override
 public Object invoke(Object proxy, Method method, Object[] args) throws Throwable {
 
 System.out.println("before method!");
 
 Object result = method.invoke(target, args);
 
 System.out.println("after method!");
 
 return result;
 }
}

最后調用:

?
1
2
3
4
5
6
7
8
9
10
11
12
13
public class DynamicProxy {
 
 
 public static void main(String args[]) {
 
 Subject subject = new SubjectImpl();
 
 Subject proxy = (Subject) Proxy.newProxyInstance(SubjectImpl.class.getClassLoader(), SubjectImpl.class.getInterfaces(), new SubjectInvocationHandler(subject));
 proxy.test();
 
 System.out.println(proxy);
 }
}

運行結果:

?
1
2
3
before method!
This is test method
after method!

總結

1.通過實現InvocationHandler接口,在invoke方法中實現代理邏輯;

2.通過Proxy的newProxyInstance方法生成代理類,這里主要是根據被代理類的接口類型,通過反射創建代理類;

關于分析JDK動態代理這里有一篇很好的文章:Java JDK動態代理(AOP)的實現原理與使用詳析

好了,以上就是這篇文章的全部內容,希望本文的內容對大家的學習或者工作能帶來一定的幫助,如果有疑問大家可以留言交流,謝謝大家對服務器之家的支持。

原文鏈接:http://xdeveloper.cn/java-jdk-proxy/

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 亚洲精选一区二区 | 亚洲日韩欧美一区二区在线 | 日韩中文字幕无码一区二区三区 | 日韩精品一区二区三区中文字幕 | 九色91| 小泽玛丽娅 | 九九热精品在线播放 | 日韩婷婷 | 日本一区二区三区免费观看 | 国产一区二区久久久 | 中文字幕精品一区二区三区精品 | 国产美女精品视频免费观看 | 黄色毛片免费网站 | 久久福利电影 | 精品国产三级 | 成人乱人乱一区二区三区 | 成人免费一区二区三区视频软件 | 国产福利在线播放 | 一区二区三区免费看 | 亚洲免费观看视频网站 | 国产精品久久久久久 | 亚洲电影一区 | 国产原创精品视频 | 成人在线观看网站 | 天天干天天操 | 在线观看免费av网 | 伊人精品在线 | 国产午夜精品久久久久久久 | 91网视频 | 日本a v在线播放 | 欧美精品不卡 | 激情综合五月天 | 99久久精品一区二区成人 | 亚洲依人 | 欧美成人精品激情在线观看 | 黄色av网站在线观看 | 亚洲精品网址 | 免费观看一级视频 | 色性视频 | 一区二区三区国产在线观看 | 国户精品久久久久久久久久久不卡 |