美文网首页
反射调用单例中的方法

反射调用单例中的方法

作者: xiaotimel | 来源:发表于2019-12-10 18:23 被阅读0次
    /**
    
    * 通过反射获取缓存的用户信息 
    
    * @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;
    
    }
    

    相关文章

      网友评论

          本文标题:反射调用单例中的方法

          本文链接:https://www.haomeiwen.com/subject/xngggctx.html