反射调用单例中的方法
2019-12-10 本文已影响0人
xiaotimel
/**
* 通过反射获取缓存的用户信息
* @param userId
* @return
*/
public static ReflexUserBean(String userId){
try {
Class c = Class.forName("com.xiao.timel.manager.UserInfoCacheManager");
Method m = c.getDeclaredMethod("getInstance", null);
Object object = m.invoke(null, null);
Class aClass = object.getClass();
Method getMethod = aClass.getMethod("getCacheUserInfo",String.class);
Object result = getMethod.invoke(object,userId);//调用单例中的方法
if(result !=null){
String jsonStr = GsonUtils.toJson(result);
ReflexUserBean userBean = GsonUtils.fromJson(jsonStr,ReflexUserBean.class);
return userBean;
}
}catch (Throwable t) {
t.printStackTrace();
}
return null;
}