利用Java反射机制实现动态方法

使用场景:

项目中不同模块对某些数据的权限控制是不一样,此时可以利用Java的反射机制来实现动态的权限检测,减少代码的耦合性。

主要代码:

            //targetNameMethodStr:XX.XX.XXX的路径地址
            String targetNameMethod = targetNameMethodStr.substring(targetNameMethodStr.lastIndexOf(".") + 1);
			String className = targetNameMethodStr.substring(0, targetNameMethodStr.lastIndexOf("."));
			try {
				Class clazz = Class.forName(className);
				Method method = clazz.getDeclaredMethod(targetNameMethod, String.class,int.class,int.class,User.class);
				boolean isAuthorize = (boolean) method.invoke(clazz.newInstance(), fMReplyFName,fieldid,formmodebillId,user);
				rs.writeLog("isAuthorize()执行返回结果:"+isAuthorize);
				return isAuthorize;
			} catch (Exception e) {
				e.printStackTrace();
				return false;
			}

知识点:
getDeclaredMethod
invoke

发布了50 篇原创文章 · 获赞 46 · 访问量 21万+
展开阅读全文

没有更多推荐了,返回首页

©️2019 CSDN 皮肤主题: 大白 设计师: CSDN官方博客

分享到微信朋友圈

×

扫一扫,手机浏览