java反射invoke空指针_java反射invoke调用方法报空指针异常

最近做项目用到定时任务,在设计的时候,考虑到每条job对应一个jobClass和jobMethod,会需要用到反射技术。

通过反射技术获取指定的方法,然后去执行。但是!!!在执行invoke方法的时候,一直报空指针异常,百度了一下午才找到解决方案。现在把解决方法分享给大家。

先看下代码:

首先是一个测试类:

@Test

public void test() {

String classBeanName = "com.bandweaver.tunnel.service.mam.measobj.MeasObjModuleCenter";

String targetMethod = "saveSOSchedule";

try {

Class> clazz = Class.forName(classBeanName);

Method method = clazz.getDeclaredMethod(targetMethod);

LogUtil.info("Get method : " + method);

method.setAccessible(true);

method.invoke(clazz.newInstance());

} catch (Exception e) {

// TODO Auto-generated catch block

e.printStackTrace();

}

我的目的是要执行下面这个方法,代码不需要细看,你只需要知道我这个方法里需要用到@autowired注解去获取我需要的bean,这就是为什么报空指针的原因了。

/**SO

*

* @author shaosen

* @throws Exception

* @Date 2018年9月10日

*/

public void saveSOSchedule(){

//从缓存中获取数据,然后定时向对象表中更新数据,并同时保存到value表中

ListmeasObjSOs = getMeasObjSOs();

LogUtil.info("*******************************************************************");

LogUtil.info(&#

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值