Spring中反射调用方法时@Autowired注入的成员为空

工作遇到的问题,记录备忘。开始用的Class.forName获取LimsFolderResourceExtImpl,在调用方法mergeOriginalRecordsForTesterSubmit过程中发现通过@Autowired注入的成员为空全部为空,报了空指针异常。
解决方法为从上下文中获取实例,再调用方法。

LimsFolderResourceExtImpl limsFolderResourceExtImpl = LimsApplicationContextHelper.getBean(LimsFolderResourceExtImpl.class);
try {
    limsFolderResourceExtImpl.getClass()
                             .getMethod("mergeOriginalRecordsForTesterSubmit", String.class,String.class,boolean.class)
                             .invoke(limsFolderResourceExtImpl, new Object[]{limsOrderTaskBean.getFoldersId(), limsOrderTaskBean.getCheckUsrNam(), true});
    } catch (Exception e) {
                e.printStackTrace();
    }
发布了26 篇原创文章 · 获赞 6 · 访问量 2934

猜你喜欢

转载自blog.csdn.net/weixin_45676630/article/details/105181420