Java反射类的方法

要反射的Java类和方法
入参是三个字符串
出参是一个map

package com.tp.inter.pagedefine.cache;

public class GridFieldExcecutor {
    public Map<String, Object> getCal(String applyCode, String systemId,
        String moduleName) {
        return this.cacheManager.get(KEY,
            new String[] { applyCode, systemId, moduleName });
    }
   
}

		

核心代码 我这里的

这里的obj是对象的值

 package com.tp.inter.pagedefine.cache;

public class Test {
           /**
             * 根据页面查询页面合计的字段值
             * @param request  页面编号和系统编号
             * @param mouldName 模块module
             * @return Map<String, Object>
             * @author xiaowenbo
             */
    @SuppressWarnings("unchecked")
    private Map<String, Object> getCalMap(DataSet request, String mouldName) {
        Map<String, Object> str = new HashMap<String, Object>();
        String dsName = request.getStringParameter("dsName");
        String dsSystemId = request.getStringParameter("dsSystemId");

        if (StringUtils.isNotEmpty(dsSystemId) &&
                StringUtils.isNotEmpty(dsName)) {
            try {
                String className = "com.tp.inter.pagedefine.cache.GridFieldExcecutor"; //要反射的java类
                String methodName = "getCal"; //要反射的方法名
                Object obj = BeanFactory.getBean(className);
                Class<?> clazz = Class.forName(className);

                // Java 反射机制 - 调用某个类的方法1
                Method method = clazz.getMethod(methodName, String.class,
                        String.class, String.class);
                str = (Map<String, Object>) method.invoke(obj, dsName,
                        dsSystemId, mouldName);
            } catch (Exception e) {
                e.printStackTrace();
            }
        }

        return str;
    }
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值