Spring注入后反射调用出现空指针java.lang.NullPointerException
@RequestMapping(value="/{ClassName}/{MethodName}")
public ModelAndView test1(@PathVariable(value="MethodName") String MethodName, @PathVariable(value="ClassName") String ClassName
) throws Exception{
ModelAndView mv=new ModelAndView("Hello");
System.out.println("111111111");
Class clz = Class.forName("com.piggo.httpurlconn.service.post."+ClassName);
Object obj =clz.newInstance();
Method method=obj.getClass().getDeclaredMethod(MethodName);
int a=(int)method.invoke(obj);
System.out.println(a);
System.out.println("22222222222");
return mv;
}
用了反射这里
@Autowired
private SendPost sendPost;
@Autowired
private BaseinfocompanyMapper baseinfocompanyMapper;
@Override
public int Company() {
String url = "http://172.16.5.101:8080/baseinfo/company?company=xiaozhubenben";
Baseinfocompany baseinfocompanypojo=new Baseinfocompany();
baseinfocompanypojo.setId(1);
baseinfocompanypojo=baseinfocompanyMapper.selectOne(baseinfocompanypojo);
JSONObject obj = new JSONObject();
Map<String, Object> baseInfoCompany = new HashMap<String, Object>();
obj.put("Source", "0");
obj.put("CompanyId", "xiaozhubenben");
obj.put("IPCType", "baseInfoCompany");
baseInfoCompany.put("CompanyId", "xiaozhubenben");
baseInfoCompany.put("CompanyName", baseinfocompanypojo.getCompanyName());
baseInfoCompany.put("Identifier", baseinfocompanypojo.getIdentifier());
baseInfoCompany.put("Address", baseinfocompanypojo.getAddress());
obj.put("baseInfoCompany", baseInfoCompany);// 把Map数据放入Json
return sendPost.sendPost_JSON(url, obj);
}
然后红色的代码注入调用的时候空指针 ,但是绿色的代码没有空指针,绿色的代码是我自己写的方法,红色的代码是注入了一个通用Mapper。不通过反射可以运行,通过反射就会空指针。