国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發設計 > 正文

Groovy攔截

2019-11-08 02:02:26
字體:
來源:轉載
供稿:網友

Groovy攔截

1、Groovy對象可以通過實現GroovyInterceptable接口來實現攔截,因為每個方法都會先調用invokeMethod方法。
class AInterceptable implements GroovyInterceptable {	def add(val1, val2) {		val1 + val2	}	public Object invokeMethod(String name, args) {		System.out.PRintln("invokeMethod: " + name)		def method = AInterceptable.metaClass.getMetaMethod(name, args)		if (method) {			method.invoke(this, args)		} else {			System.out.println("no method find: " + name)		}	}}obj = new AInterceptable()println obj.add(11, 13)println obj.add("Hello ", "World!")obj.add()obj.del()返回invokeMethod: add24invokeMethod: addHello World!invokeMethod: addno method find: addinvokeMethod: delno method find: del2、對于POJO和部分POGO類來說,無法修改原始類,使用MetaClass類的invokeMethod方法。
class AGroovyClass {	def add(val1, val2) {		val1 + val2	}}AGroovyClass.metaClass.invokeMethod = { name, args ->	System.out.println("invokeMethod: " + name)	method = AGroovyClass.metaClass.getMetaMethod(name, args);	if (method) {		method.invoke(delegate, args)	} else {		System.out.println("no method find: " + name)	}}obj = new AGroovyClass()println obj.add(11, 13)println obj.add("Hello ", "World!")obj.add()obj.del()返回invokeMethod: add24invokeMethod: addHello World!invokeMethod: addno method find: addinvokeMethod: delno method find: del
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 浦县| 平昌县| 宜兰县| 临高县| 论坛| 呼和浩特市| 建宁县| 孝昌县| 修水县| 布尔津县| 齐齐哈尔市| 鄱阳县| 哈密市| 卢龙县| 梁山县| 文水县| 文化| 洛南县| 沙田区| 随州市| 巨鹿县| 崇仁县| 疏附县| 灌阳县| 滦南县| 寿光市| 岳阳县| 淮北市| 开平市| 宜宾县| 盐边县| 鄯善县| 黔江区| 伊宁县| 武清区| 崇信县| 衢州市| 陇川县| 安国市| 海原县| 尖扎县|