反射调用单例中的方法

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;

}
上一篇下一篇

猜你喜欢

热点阅读