1 private void DtoReflect(Object obj, MqDto mqDto) throws Exception {
2 Map map = getMap(mqDto);
3 if(obj==null)
4 return;
5 //获取Class对象
6 Class clazz =obj.getClass();
7 //获取Calss中的所有方法
8 Method[] methods = clazz.getDeclaredMethods();
9 //遍历Class中的方法
10 for(int j=0;j<methods.length;j++)
11 {
12 //获取方法对象
13 Method method=methods[j];
14 //获取方法名字
15 String methodName=method.getName();
16 //方法名进行小写
17 String methodNameLower=methodName.toLowerCase();
18 //寻找xml给过来的字段名找在Class中的方法
19 if (map.containsKey(methodNameLower)) {
20 //数据set到Class的set方法中
21 Method finishTask =clazz.getMethod(methodName,new Class[]{String.class});
22 finishTask.invoke(obj, new Object[]{MqUtil.getFieldValue(mqDto.getBody(),(String)map.get(methodNameLower))});
23 }
24
25 }
26
27 }