整理收集的一些常用java工具类
1.json转换工具 [java] view plain copy packagecom.taotao.utils; importjava.util.List; importcom.fasterxml.jackson.core.JsonProcessingException; importcom.fasterxml.jackson.databind.JavaType; importcom.fasterxml.jackson.databind.JsonNode; importcom.fasterxml.jackson.databind.ObjectMapper; /** *json转换工具类 */ publicclassJsonUtils{ //定义jackson对象 privatestaticfinalObjectMapperMAPPER=newObjectMapper(); /** *将对象转换成json字符串。 *<p>Title:pojoToJson</p> *<p>Description:</p> *@paramdata *@return */ publicstaticStringobjectToJson(Objectdata){ try{ Stringstring=MAPPER.writeValueAsString(data); returnstring; }catch(JsonProcessingExceptione){ e.printStackTrace(); } returnnull; } /** *将json结果集转化为对象 * *@paramjsonDatajson数据 *@paramclazz对象中的object类型 *@return */ publicstatic<T>TjsonToPojo(StringjsonData,Class<T>beanType){ try{ Tt=MAPPER.readValue(jsonData,beanType); returnt; }catch(Exceptione){ e.printStackTrace(); } returnnull; } /** *将json数据转换成pojo对象list *<p>Title:jsonToList</p> *<p>Description:</p> *@paramjsonData *@parambeanType *@return */ publicstatic<T>List<T>jsonToList(StringjsonData,Class<T>beanType){ JavaTypejavaType=MAPPER.getTypeFactory().constructParametricType(List.class,beanType); try{ List<T>list=MAPPER.readValue(jsonData,javaType); returnlist; }catch(Exceptione){ e.printStackTrace(); } returnnull; } } 2.cookie的读写 [java] view plain copy packagecom.taotao.common.utils; importjava.io.UnsupportedEncodingException; importjava.net.URLDecoder; importjava.net.URLEncoder; importjavax.servlet.http.Cookie; importjavax.servlet.http.HttpServletRequest; importjavax.servlet.http.HttpServletResponse; /** * *Cookie工具类 * */ publicfinalclassCookieUtils{ /** *得到Cookie的值,不编码 * *@paramrequest *@paramcookieName *@return */ publicstaticStringgetCookieValue(HttpServletRequestrequest,StringcookieName){ returngetCookieValue(request,cookieName,false); } /** *得到Cookie的值, * *@paramrequest *@paramcookieName *@return */ publicstaticStringgetCookieValue(HttpServletRequestrequest,StringcookieName,booleanisDecoder){ Cookie[]cookieList=request.getCookies(); if(cookieList==null||cookieName==null){ returnnull; } StringretValue=null; try{ for(inti=0;i<cookieList.length;i++){ if(cookieList[i].getName().equals(cookieName)){ if(isDecoder){ retValue=URLDecoder.decode(cookieList[i].getValue(),"UTF-8"); }else{ retValue=cookieList[i].getValue(); } break; } } }catch(UnsupportedEncodingExceptione){ e.printStackTrace(); } returnretValue; } /** *得到Cookie的值, * *@paramrequest *@paramcookieName *@return */ publicstaticStringgetCookieValue(HttpServletRequestrequest,StringcookieName,StringencodeString){ Cookie[]cookieList=request.getCookies(); if(cookieList==null||cookieName==null){ returnnull; } StringretValue=null; try{ for(inti=0;i<cookieList.length;i++){ if(cookieList[i].getName().equals(cookieName)){ retValue=URLDecoder.decode(cookieList[i].getValue(),encodeString); break; } } }catch(UnsupportedEncodingExceptione){ e.printStackTrace(); } returnretValue; } /** *设置Cookie的值不设置生效时间默认浏览器关闭即失效,也不编码 */ publicstaticvoidsetCookie(HttpServletRequestrequest,HttpServletResponseresponse,StringcookieName, StringcookieValue){ setCookie(request,response,cookieName,cookieValue,-1); } /** *设置Cookie的值在指定时间内生效,但不编码 */ publicstaticvoidsetCookie(HttpServletRequestrequest,HttpServletResponseresponse,StringcookieName, StringcookieValue,intcookieMaxage){ setCookie(request,response,cookieName,cookieValue,cookieMaxage,false); } /** *设置Cookie的值不设置生效时间,但编码 */ publicstaticvoidsetCookie(HttpServletRequestrequest,HttpServletResponseresponse,StringcookieName, StringcookieValue,booleanisEncode){ setCookie(request,response,cookieName,cookieValue,-1,isEncode); } /** *设置Cookie的值在指定时间内生效,编码参数 */ publicstaticvoidsetCookie(HttpServletRequestrequest,HttpServletResponseresponse,StringcookieName, StringcookieValue,intcookieMaxage,booleanisEncode){ doSetCookie(request,response,cookieName,cookieValue,cookieMaxage,isEncode); } /** *设置Cookie的值在指定时间内生效,编码参数(指定编码) */ publicstaticvoidsetCookie(HttpServletRequestrequest,HttpServletResponseresponse,StringcookieName, StringcookieValue,intcookieMaxage,StringencodeString){ doSetCookie(request,response,cookieName,cookieValue,cookieMaxage,encodeString); } /** *删除Cookie带cookie域名 */ publicstaticvoiddeleteCookie(HttpServletRequestrequest,HttpServletResponseresponse, StringcookieName){ doSetCookie(request,response,cookieName,"",-1,false); } /** *设置Cookie的值,并使其在指定时间内生效 * *@paramcookieMaxagecookie生效的最大秒数 */ privatestaticfinalvoiddoSetCookie(HttpServletRequestrequest,HttpServletResponseresponse, StringcookieName,StringcookieValue,intcookieMaxage,booleanisEncode){ try{ if(cookieValue==null){ cookieValue=""; }elseif(isEncode){ cookieValue=URLEncoder.encode(cookieValue,"utf-8"); } Cookiecookie=newCookie(cookieName,cookieValue); if(cookieMaxage>0) cookie.setMaxAge(cookieMaxage); if(null!=request){//设置域名的cookie StringdomainName=getDomainName(request); System.out.println(domainName); if(!"localhost".equals(domainName)){ cookie.setDomain(domainName); } } cookie.setPath("/"); response.addCookie(cookie); }catch(Exceptione){ e.printStackTrace(); } } /** *设置Cookie的值,并使其在指定时间内生效 * *@paramcookieMaxagecookie生效的最大秒数 */ privatestaticfinalvoiddoSetCookie(HttpServletRequestrequest,HttpServletResponseresponse, StringcookieName,StringcookieValue,intcookieMaxage,StringencodeString){ try{ if(cookieValue==null){ cookieValue=""; }else{ cookieValue=URLEncoder.encode(cookieValue,encodeString); } Cookiecookie=newCookie(cookieName,cookieValue); if(cookieMaxage>0) cookie.setMaxAge(cookieMaxage); if(null!=request){//设置域名的cookie StringdomainName=getDomainName(request); System.out.println(domainName); if(!"localhost".equals(domainName)){ cookie.setDomain(domainName); } } cookie.setPath("/"); response.addCookie(cookie); }catch(Exceptione){ e.printStackTrace(); } } /** *得到cookie的域名 */ privatestaticfinalStringgetDomainName(HttpServletRequestrequest){ StringdomainName=null; StringserverName=request.getRequestURL().toString(); if(serverName==null||serverName.equals("")){ domainName=""; }else{ serverName=serverName.toLowerCase(); serverName=serverName.substring(7); finalintend=serverName.indexOf("/"); serverName=serverName.substring(0,end); finalString[]domains=serverName.split("\\."); intlen=domains.length; if(len>3){ //www.xxx.com.cn domainName="."+domains[len-3]+"."+domains[len-2]+"."+domains[len-1]; }elseif(len<=3&&len>1){ //xxx.comorxxx.cn domainName="."+domains[len-2]+"."+domains[len-1]; }else{ domainName=serverName; } } if(domainName!=null&&domainName.indexOf(":")>0){ String[]ary=domainName.split("\\:"); domainName=ary[0]; } returndomainName; } } 3.HttpClientUtil 相关包及文档下载 [java] view plain copy packagecom.taotao.utils; importjava.io.IOException; importjava.net.URI; importjava.util.ArrayList; importjava.util.List; importjava.util.Map; importorg.apache.http.NameValuePair; importorg.apache.http.client.entity.UrlEncodedFormEntity; importorg.apache.http.client.methods.CloseableHttpResponse; importorg.apache.http.client.methods.HttpGet; importorg.apache.http.client.methods.HttpPost; importorg.apache.http.client.utils.URIBuilder; importorg.apache.http.entity.ContentType; importorg.apache.http.entity.StringEntity; importorg.apache.http.impl.client.CloseableHttpClient; importorg.apache.http.impl.client.HttpClients; importorg.apache.http.message.BasicNameValuePair; importorg.apache.http.util.EntityUtils; publicclassHttpClientUtil{ publicstaticStringdoGet(Stringurl,Map<String,String>param){ //创建Httpclient对象 CloseableHttpClienthttpclient=HttpClients.createDefault(); StringresultString=""; CloseableHttpResponseresponse=null; try{ //创建uri URIBuilderbuilder=newURIBuilder(url); if(param!=null){ for(Stringkey:param.keySet()){ builder.addParameter(key,param.get(key)); } } URIuri=builder.build(); //创建httpGET请求 HttpGethttpGet=newHttpGet(uri); //执行请求 response=httpclient.execute(httpGet); //判断返回状态是否为200 if(response.getStatusLine().getStatusCode()==200){ resultString=EntityUtils.toString(response.getEntity(),"UTF-8"); } }catch(Exceptione){ e.printStackTrace(); }finally{ try{ if(response!=null){ response.close(); } httpclient.close(); }catch(IOExceptione){ e.printStackTrace(); } } returnresultString; } publicstaticStringdoGet(Stringurl){ returndoGet(url,null); } publicstaticStringdoPost(Stringurl,Map<String,String>param){ //创建Httpclient对象 CloseableHttpClienthttpClient=HttpClients.createDefault(); CloseableHttpResponseresponse=null; StringresultString=""; try{ //创建HttpPost请求 HttpPosthttpPost=newHttpPost(url); //创建参数列表 if(param!=null){ List<NameValuePair>paramList=newArrayList<>(); for(Stringkey:param.keySet()){ paramList.add(newBasicNameValuePair(key,param.get(key))); } //模拟表单 UrlEncodedFormEntityentity=newUrlEncodedFormEntity(paramList); httpPost.setEntity(entity); } //执行http请求 response=httpClient.execute(httpPost); resultString=EntityUtils.toString(response.getEntity(),"utf-8"); }catch(Exceptione){ e.printStackTrace(); }finally{ try{ response.close(); }catch(IOExceptione){ //TODOAuto-generatedcatchblock e.printStackTrace(); } } returnresultString; } publicstaticStringdoPost(Stringurl){ returndoPost(url,null); } publicstaticStringdoPostJson(Stringurl,Stringjson){ //创建Httpclient对象 CloseableHttpClienthttpClient=HttpClients.createDefault(); CloseableHttpResponseresponse=null; StringresultString=""; try{ //创建HttpPost请求 HttpPosthttpPost=newHttpPost(url); //创建请求内容 StringEntityentity=newStringEntity(json,ContentType.APPLICATION_JSON); httpPost.setEntity(entity); //执行http请求 response=httpClient.execute(httpPost); resultString=EntityUtils.toString(response.getEntity(),"utf-8"); }catch(Exceptione){ e.printStackTrace(); }finally{ try{ response.close(); }catch(IOExceptione){ //TODOAuto-generatedcatchblock e.printStackTrace(); } } returnresultString; } } 4.FastDFSClient工具类 相关包以及文档下载 [java] view plain copy packagecn.itcast.fastdfs.cliennt; importorg.csource.common.NameValuePair; importorg.csource.fastdfs.ClientGlobal; importorg.csource.fastdfs.StorageClient1; importorg.csource.fastdfs.StorageServer; importorg.csource.fastdfs.TrackerClient; importorg.csource.fastdfs.TrackerServer; publicclassFastDFSClient{ privateTrackerClienttrackerClient=null; privateTrackerServertrackerServer=null; privateStorageServerstorageServer=null; privateStorageClient1storageClient=null; publicFastDFSClient(Stringconf)throwsException{ if(conf.contains("classpath:")){ conf=conf.replace("classpath:",this.getClass().getResource("/").getPath()); } ClientGlobal.init(conf); trackerClient=newTrackerClient(); trackerServer=trackerClient.getConnection(); storageServer=null; storageClient=newStorageClient1(trackerServer,storageServer); } /** *上传文件方法 *<p>Title:uploadFile</p> *<p>Description:</p> *@paramfileName文件全路径 *@paramextName文件扩展名,不包含(.) *@parammetas文件扩展信息 *@return *@throwsException */ publicStringuploadFile(StringfileName,StringextName,NameValuePair[]metas)throwsException{ Stringresult=storageClient.upload_file1(fileName,extName,metas); returnresult; } publicStringuploadFile(StringfileName)throwsException{ returnuploadFile(fileName,null,null); } publicStringuploadFile(StringfileName,StringextName)throwsException{ returnuploadFile(fileName,extName,null); } /** *上传文件方法 *<p>Title:uploadFile</p> *<p>Description:</p> *@paramfileContent文件的内容,字节数组 *@paramextName文件扩展名 *@parammetas文件扩展信息 *@return *@throwsException */ publicStringuploadFile(byte[]fileContent,StringextName,NameValuePair[]metas)throwsException{ Stringresult=storageClient.upload_file1(fileContent,extName,metas); returnresult; } publicStringuploadFile(byte[]fileContent)throwsException{ returnuploadFile(fileContent,null,null); } publicStringuploadFile(byte[]fileContent,StringextName)throwsException{ returnuploadFile(fileContent,extName,null); } } [java] view plain copy <spanstyle="font-size:14px;font-weight:normal;">publicclassFastDFSTest{ @Test publicvoidtestFileUpload()throwsException{ //1、加载配置文件,配置文件中的内容就是tracker服务的地址。 ClientGlobal.init("D:/workspaces-itcast/term197/taotao-manager-web/src/main/resources/resource/client.conf"); //2、创建一个TrackerClient对象。直接new一个。 TrackerClienttrackerClient=newTrackerClient(); //3、使用TrackerClient对象创建连接,获得一个TrackerServer对象。 TrackerServertrackerServer=trackerClient.getConnection(); //4、创建一个StorageServer的引用,值为null StorageServerstorageServer=null; //5、创建一个StorageClient对象,需要两个参数TrackerServer对象、StorageServer的引用 StorageClientstorageClient=newStorageClient(trackerServer,storageServer); //6、使用StorageClient对象上传图片。 //扩展名不带“.” String[]strings=storageClient.upload_file("D:/Documents/Pictures/images/200811281555127886.jpg","jpg",null); //7、返回数组。包含组名和图片的路径。 for(Stringstring:strings){ System.out.println(string); } } }</span> 5.获取异常的堆栈信息 [java] view plain copy packagecom.taotao.utils; importjava.io.PrintWriter; importjava.io.StringWriter; publicclassExceptionUtil{ /** *获取异常的堆栈信息 * *@paramt *@return */ publicstaticStringgetStackTrace(Throwablet){ StringWritersw=newStringWriter(); PrintWriterpw=newPrintWriter(sw); try{ t.printStackTrace(pw); returnsw.toString(); }finally{ pw.close(); } } } 6.easyUIDataGrid对象返回值 [java] view plain copy packagecom.taotao.result; importjava.util.List; /** *easyUIDataGrid对象返回值 *<p>Title:EasyUIResult</p> *<p>Description:</p> *<p>Company:www.itcast.com</p> *@author入云龙 *@date2015年7月21日下午4:12:52 *@version1.0 */ publicclassEasyUIResult{ privateIntegertotal; privateList<?>rows; publicEasyUIResult(Integertotal,List<?>rows){ this.total=total; this.rows=rows; } publicEasyUIResult(longtotal,List<?>rows){ this.total=(int)total; this.rows=rows; } publicIntegergetTotal(){ returntotal; } publicvoidsetTotal(Integertotal){ this.total=total; } publicList<?>getRows(){ returnrows; } publicvoidsetRows(List<?>rows){ this.rows=rows; } } 7.ftp上传下载工具类 [java] view plain copy packagecom.taotao.utils; importjava.io.File; importjava.io.FileInputStream; importjava.io.FileNotFoundException; importjava.io.FileOutputStream; importjava.io.IOException; importjava.io.InputStream; importjava.io.OutputStream; importorg.apache.commons.net.ftp.FTP; importorg.apache.commons.net.ftp.FTPClient; importorg.apache.commons.net.ftp.FTPFile; importorg.apache.commons.net.ftp.FTPReply; /** *ftp上传下载工具类 *<p>Title:FtpUtil</p> *<p>Description:</p> *<p>Company:www.itcast.com</p> *@author入云龙 *@date2015年7月29日下午8:11:51 *@version1.0 */ publicclassFtpUtil{ /** *Description:向FTP服务器上传文件 *@paramhostFTP服务器hostname *@paramportFTP服务器端口 *@paramusernameFTP登录账号 *@parampasswordFTP登录密码 *@parambasePathFTP服务器基础目录 *@paramfilePathFTP服务器文件存放路径。例如分日期存放:/2015/01/01。文件的路径为basePath+filePath *@paramfilename上传到FTP服务器上的文件名 *@paraminput输入流 *@return成功返回true,否则返回false */ publicstaticbooleanuploadFile(Stringhost,intport,Stringusername,Stringpassword,StringbasePath, StringfilePath,Stringfilename,InputStreaminput){ booleanresult=false; FTPClientftp=newFTPClient(); try{ intreply; ftp.connect(host,port);//连接FTP服务器 //如果采用默认端口,可以使用ftp.connect(host)的方式直接连接FTP服务器 ftp.login(username,password);//登录 reply=ftp.getReplyCode(); if(!FTPReply.isPositiveCompletion(reply)){ ftp.disconnect(); returnresult; } //切换到上传目录 if(!ftp.changeWorkingDirectory(basePath+filePath)){ //如果目录不存在创建目录 String[]dirs=filePath.split("/"); StringtempPath=basePath; for(Stringdir:dirs){ if(null==dir||"".equals(dir))continue; tempPath+="/"+dir; if(!ftp.changeWorkingDirectory(tempPath)){ if(!ftp.makeDirectory(tempPath)){ returnresult; }else{ ftp.changeWorkingDirectory(tempPath); } } } } //设置上传文件的类型为二进制类型 ftp.setFileType(FTP.BINARY_FILE_TYPE); //上传文件 if(!ftp.storeFile(filename,input)){ returnresult; } input.close(); ftp.logout(); result=true; }catch(IOExceptione){ e.printStackTrace(); }finally{ if(ftp.isConnected()){ try{ ftp.disconnect(); }catch(IOExceptionioe){ } } } returnresult; } /** *Description:从FTP服务器下载文件 *@paramhostFTP服务器hostname *@paramportFTP服务器端口 *@paramusernameFTP登录账号 *@parampasswordFTP登录密码 *@paramremotePathFTP服务器上的相对路径 *@paramfileName要下载的文件名 *@paramlocalPath下载后保存到本地的路径 *@return */ publicstaticbooleandownloadFile(Stringhost,intport,Stringusername,Stringpassword,StringremotePath, StringfileName,StringlocalPath){ booleanresult=false; FTPClientftp=newFTPClient(); try{ intreply; ftp.connect(host,port); //如果采用默认端口,可以使用ftp.connect(host)的方式直接连接FTP服务器 ftp.login(username,password);//登录 reply=ftp.getReplyCode(); if(!FTPReply.isPositiveCompletion(reply)){ ftp.disconnect(); returnresult; } ftp.changeWorkingDirectory(remotePath);//转移到FTP服务器目录 FTPFile[]fs=ftp.listFiles(); for(FTPFileff:fs){ if(ff.getName().equals(fileName)){ FilelocalFile=newFile(localPath+"/"+ff.getName()); OutputStreamis=newFileOutputStream(localFile); ftp.retrieveFile(ff.getName(),is); is.close(); } } ftp.logout(); result=true; }catch(IOExceptione){ e.printStackTrace(); }finally{ if(ftp.isConnected()){ try{ ftp.disconnect(); }catch(IOExceptionioe){ } } } returnresult; } publicstaticvoidmain(String[]args){ try{ FileInputStreamin=newFileInputStream(newFile("D:\\temp\\image\\gaigeming.jpg")); booleanflag=uploadFile("192.168.25.133",21,"ftpuser","ftpuser","/home/ftpuser/www/images","/2015/01/21","gaigeming.jpg",in); System.out.println(flag); }catch(FileNotFoundExceptione){ e.printStackTrace(); } } } 8.各种id生成策略 [java] view plain copy packagecom.taotao.utils; importjava.util.Random; /** *各种id生成策略 *<p>Title:IDUtils</p> *<p>Description:</p> *@date2015年7月22日下午2:32:10 *@version1.0 */ publicclassIDUtils{ /** *图片名生成 */ publicstaticStringgenImageName(){ //取当前时间的长整形值包含毫秒 longmillis=System.currentTimeMillis(); //longmillis=System.nanoTime(); //加上三位随机数 Randomrandom=newRandom(); intend3=random.nextInt(999); //如果不足三位前面补0 Stringstr=millis+String.format("%03d",end3); returnstr; } /** *商品id生成 */ publicstaticlonggenItemId(){ //取当前时间的长整形值包含毫秒 longmillis=System.currentTimeMillis(); //longmillis=System.nanoTime(); //加上两位随机数 Randomrandom=newRandom(); intend2=random.nextInt(99); //如果不足两位前面补0 Stringstr=millis+String.format("%02d",end2); longid=newLong(str); returnid; } publicstaticvoidmain(String[]args){ for(inti=0;i<100;i++) System.out.println(genItemId()); } } 9.上传图片返回值 [java] view plain copy packagecom.result; /** *上传图片返回值 *<p>Title:PictureResult</p> *<p>Description:</p> *<p>Company:www.itcast.com</p> *@author入云龙 *@date2015年7月22日下午2:09:02 *@version1.0 */ publicclassPictureResult{ /** *上传图片返回值,成功:0失败:1 */ privateIntegererror; /** *回显图片使用的url */ privateStringurl; /** *错误时的错误消息 */ privateStringmessage; publicPictureResult(Integerstate,Stringurl){ this.url=url; this.error=state; } publicPictureResult(Integerstate,Stringurl,StringerrorMessage){ this.url=url; this.error=state; this.message=errorMessage; } publicIntegergetError(){ returnerror; } publicvoidsetError(Integererror){ this.error=error; } publicStringgetUrl(){ returnurl; } publicvoidsetUrl(Stringurl){ this.url=url; } publicStringgetMessage(){ returnmessage; } publicvoidsetMessage(Stringmessage){ this.message=message; } } 10.自定义响应结构 [java] view plain copy packagecom.result; importjava.util.List; importcom.fasterxml.jackson.databind.JsonNode; importcom.fasterxml.jackson.databind.ObjectMapper; /** *自定义响应结构 */ publicclassTaotaoResult{ //定义jackson对象 privatestaticfinalObjectMapperMAPPER=newObjectMapper(); //响应业务状态 privateIntegerstatus; //响应消息 privateStringmsg; //响应中的数据 privateObjectdata; publicstaticTaotaoResultbuild(Integerstatus,Stringmsg,Objectdata){ returnnewTaotaoResult(status,msg,data); } publicstaticTaotaoResultok(Objectdata){ returnnewTaotaoResult(data); } publicstaticTaotaoResultok(){ returnnewTaotaoResult(null); } publicTaotaoResult(){ } publicstaticTaotaoResultbuild(Integerstatus,Stringmsg){ returnnewTaotaoResult(status,msg,null); } publicTaotaoResult(Integerstatus,Stringmsg,Objectdata){ this.status=status; this.msg=msg; this.data=data; } publicTaotaoResult(Objectdata){ this.status=200; this.msg="OK"; this.data=data; } //publicBooleanisOK(){ //returnthis.status==200; //} publicIntegergetStatus(){ returnstatus; } publicvoidsetStatus(Integerstatus){ this.status=status; } publicStringgetMsg(){ returnmsg; } publicvoidsetMsg(Stringmsg){ this.msg=msg; } publicObjectgetData(){ returndata; } publicvoidsetData(Objectdata){ this.data=data; } /** *将json结果集转化为TaotaoResult对象 * *@paramjsonDatajson数据 *@paramclazzTaotaoResult中的object类型 *@return */ publicstaticTaotaoResultformatToPojo(StringjsonData,Class<?>clazz){ try{ if(clazz==null){ returnMAPPER.readValue(jsonData,TaotaoResult.class); } JsonNodejsonNode=MAPPER.readTree(jsonData); JsonNodedata=jsonNode.get("data"); Objectobj=null; if(clazz!=null){ if(data.isObject()){ obj=MAPPER.readValue(data.traverse(),clazz); }elseif(data.isTextual()){ obj=MAPPER.readValue(data.asText(),clazz); } } returnbuild(jsonNode.get("status").intValue(),jsonNode.get("msg").asText(),obj); }catch(Exceptione){ returnnull; } } /** *没有object对象的转化 * *@paramjson *@return */ publicstaticTaotaoResultformat(Stringjson){ try{ returnMAPPER.readValue(json,TaotaoResult.class); }catch(Exceptione){ e.printStackTrace(); } returnnull; } /** *Object是集合转化 * *@paramjsonDatajson数据 *@paramclazz集合中的类型 *@return */ publicstaticTaotaoResultformatToList(StringjsonData,Class<?>clazz){ try{ JsonNodejsonNode=MAPPER.readTree(jsonData); JsonNodedata=jsonNode.get("data"); Objectobj=null; if(data.isArray()&&data.size()>0){ obj=MAPPER.readValue(data.traverse(), MAPPER.getTypeFactory().constructCollectionType(List.class,clazz)); } returnbuild(jsonNode.get("status").intValue(),jsonNode.get("msg").asText(),obj); }catch(Exceptione){ returnnull; } } } 11.jedis操作 [java] view plain copy packagecom.taotao.jedis; publicinterfaceJedisClient{ Stringset(Stringkey,Stringvalue); Stringget(Stringkey); Booleanexists(Stringkey); Longexpire(Stringkey,intseconds); Longttl(Stringkey); Longincr(Stringkey); Longhset(Stringkey,Stringfield,Stringvalue); Stringhget(Stringkey,Stringfield); Longhdel(Stringkey,String...field); } [java] view plain copy packagecom.taotao.jedis; importorg.springframework.beans.factory.annotation.Autowired; importredis.clients.jedis.JedisCluster; publicclassJedisClientClusterimplementsJedisClient{ @Autowired privateJedisClusterjedisCluster; @Override publicStringset(Stringkey,Stringvalue){ returnjedisCluster.set(key,value); } @Override publicStringget(Stringkey){ returnjedisCluster.get(key); } @Override publicBooleanexists(Stringkey){ returnjedisCluster.exists(key); } @Override publicLongexpire(Stringkey,intseconds){ returnjedisCluster.expire(key,seconds); } @Override publicLongttl(Stringkey){ returnjedisCluster.ttl(key); } @Override publicLongincr(Stringkey){ returnjedisCluster.incr(key); } @Override publicLonghset(Stringkey,Stringfield,Stringvalue){ returnjedisCluster.hset(key,field,value); } @Override publicStringhget(Stringkey,Stringfield){ returnjedisCluster.hget(key,field); } @Override publicLonghdel(Stringkey,String...field){ returnjedisCluster.hdel(key,field); } } [java] view plain copy packagecom.taotao.jedis; importorg.springframework.beans.factory.annotation.Autowired; importredis.clients.jedis.Jedis; importredis.clients.jedis.JedisPool; publicclassJedisClientPoolimplementsJedisClient{ @Autowired privateJedisPooljedisPool; @Override publicStringset(Stringkey,Stringvalue){ Jedisjedis=jedisPool.getResource(); Stringresult=jedis.set(key,value); jedis.close(); returnresult; } @Override publicStringget(Stringkey){ Jedisjedis=jedisPool.getResource(); Stringresult=jedis.get(key); jedis.close(); returnresult; } @Override publicBooleanexists(Stringkey){ Jedisjedis=jedisPool.getResource(); Booleanresult=jedis.exists(key); jedis.close(); returnresult; } @Override publicLongexpire(Stringkey,intseconds){ Jedisjedis=jedisPool.getResource(); Longresult=jedis.expire(key,seconds); jedis.close(); returnresult; } @Override publicLongttl(Stringkey){ Jedisjedis=jedisPool.getResource(); Longresult=jedis.ttl(key); jedis.close(); returnresult; } @Override publicLongincr(Stringkey){ Jedisjedis=jedisPool.getResource(); Longresult=jedis.incr(key); jedis.close(); returnresult; } @Override publicLonghset(Stringkey,Stringfield,Stringvalue){ Jedisjedis=jedisPool.getResource(); Longresult=jedis.hset(key,field,value); jedis.close(); returnresult; } @Override publicStringhget(Stringkey,Stringfield){ Jedisjedis=jedisPool.getResource(); Stringresult=jedis.hget(key,field); jedis.close(); returnresult; } @Override publicLonghdel(Stringkey,String...field){ Jedisjedis=jedisPool.getResource(); Longresult=jedis.hdel(key,field); jedis.close(); returnresult; } } 相关话题:JAVA初级、中级、高级,你是什么级别,你觉得不同级别应该要对哪些技能呢? 与阿里巴巴JAVA大神一起进行JAVA互动交流吧!