国产探花免费观看_亚洲丰满少妇自慰呻吟_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
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 新源县| 临江市| 同德县| 连州市| 汉寿县| 洛南县| 鄄城县| 静海县| 临沂市| 富民县| 五寨县| 永康市| 嘉定区| 勃利县| 怀来县| 兴义市| 甘谷县| 信阳市| 永康市| 加查县| 霍邱县| 高雄县| 惠来县| 喜德县| 苗栗县| 禹州市| 黔江区| 乐陵市| 博白县| 河北省| 磐安县| 虹口区| 丹江口市| 射洪县| 高淳县| 常德市| 长春市| 怀仁县| 丰镇市| 太仓市| 江口县|