300字范文,内容丰富有趣,生活中的好帮手!
300字范文 > springboot集成Hutool工具类库-hutool-core

springboot集成Hutool工具类库-hutool-core

时间:2021-09-09 01:21:59

相关推荐

springboot集成Hutool工具类库-hutool-core

引入全部工具类库

<dependency><groupId>cn.hutool</groupId><artifactId>hutool-all</artifactId><version>5.3.10</version></dependency>

引入核心类库-包括集合、字符串、Bean等工具

<dependency><groupId>cn.hutool</groupId><artifactId>hutool-core</artifactId><version>5.3.10</version></dependency>

hutool-core中常用api

1.生成随机32位uuid

IdUtil.fastSimpleUUID()

2.身份证号常用工具

是否有效身份证号

IdcardUtil.isValidCard(idCard)

根据身份编号获取年龄

IdcardUtil.getAgeByIdCard(idCard)

根据身份编号获取性别(1 : 男 , 0 : 女)

IdcardUtil.getGenderByIdCard(idCard)

根据身份编号获取户籍省份

IdcardUtil.getProvinceByIdCard(idCard)

身份证号脱敏,显示前4后3

IdcardUtil.hide(idCard,4,15)

根据身份编号获取生日

IdcardUtil.getBirth(idCard)

3.正则相关工具类

英文字母或数字或下划线

Validator.isGeneral(content)

移动电话

Validator.isMobile(content)

是否为字母

Validator.isWord(content)

是否为数字

Validator.isNumber(content)

身份证号码

Validator.isCitizenId(content)

邮件

Validator.isEmail(content)

是否是汉子,是否包含汉字

Validator.isChinese(content)Validator.hasChinese(content)

4.文件处理类

读取文件字节流

FileUtil.readBytes(path);

文件是否存在

FileUtil.exist(path)

是否绝对路径

FileUtil.isAbsolutePath(path)

是不是目录

FileUtil.isDirectory(path)

是不是文件

FileUtil.isFile(path)

文件夹是不是空的

FileUtil.isDirEmpty(dir)

循环指定目录以及子目录下的所有文件

FileUtil.loopFiles(dirPath).forEach(loopFile->{System.out.println(loopFile.getName());});

循环指定目录以及子目录下的所有满足条件的文件

FileUtil.loopFiles(dirPath,fileFilter-> FileUtil.isNotEmpty(fileFilter)).forEach(loopFile->{System.out.println(loopFile.getName());});

循环指定深度目录以及子目录下的所有满足条件的文件

FileUtil.loopFiles(FileUtil.file(dirPath),1,fileFilter-> FileUtil.isNotEmpty(fileFilter)).forEach(loopFile->{System.out.println(FileTypeUtil.getType(loopFile));});

获取文件类型

FileTypeUtil.getType(loopFile);FileTypeUtil.getTypeByPath(path)

复制文件

FileUtil.copy(path,destPath,false);

5.http工具类

常用get,post请求

<dependency><groupId>com.alibaba</groupId><artifactId>fastjson</artifactId><version>1.2.32</version></dependency>

import cn.hutool.http.HttpRequest;import cn.hutool.http.HttpResponse;import cn.hutool.http.HttpUtil;import com.alibaba.fastjson.JSON;import lombok.extern.slf4j.Slf4j;import java.util.HashMap;import java.util.Map;@Slf4jpublic class MyHttpUtil {public Map<String, Object> executeGetRequest(String url, Map<String, Object> params, String token) {long startTime = System.currentTimeMillis();Map<String, Object> result = new HashMap<>();try {HttpRequest httpRequest = HttpUtil.createGet(url);httpRequest.form(params);httpRequest.header("Authorization", token);HttpResponse httpResponse = httpRequest.execute();String strResult = httpResponse.body();long endTime = System.currentTimeMillis();log.info(strResult);result = JSON.parseObject(strResult, Map.class);log.info("调用时间:" + (endTime - startTime) + "ms"); //输出程序运行时间result.put("returnCode", "2000");return result;}catch (Exception e) {log.error(e.getMessage(),e);result.put("returnCode", "4000");result.put("data", null);return result;}}public Map<String, Object> executePostRequest(String url, Map<String, Object> params, String token) {long startTime = System.currentTimeMillis();Map<String, Object> result = new HashMap<>();try {HttpRequest httpRequest = HttpUtil.createPost(url);httpRequest.header("Authorization", token);String body = JSON.toJSONString(params);httpRequest.body(body);HttpResponse httpResponse = httpRequest.execute();String strResult = httpResponse.body();long endTime = System.currentTimeMillis();log.info(strResult);result = JSON.parseObject(strResult, Map.class);log.info("调用时间:" + (endTime - startTime) + "ms"); //输出程序运行时间result.put("returnCode", "2000");return result;}catch (Exception e) {log.error(e.getMessage(),e);result.put("returnCode", "4000");result.put("data", null);return result;}}}

package com.study.hutool.http;import cn.hutool.http.HttpRequest;import com.alibaba.fastjson.JSON;import .Authenticator;import .InetSocketAddress;import .PasswordAuthentication;import .Proxy;import java.util.Map;/*** hutool方式http工具类* 支持https请求(默认不验证ssl证书及所有域名被信任)*/public class HttpUtil {/*** POST请求** @param url* @param request* @param headers* @return*/public static String post(String url, Map<String, Object> request, Map<String, String> headers) {String resStr = HttpRequest.post(url).form(request).addHeaders(headers).execute().body();return resStr;}/*** POST请求* 请求对象转json格式** @param url* @param request* @param headers* @return*/public static String post(String url, Object request, Map<String, String> headers) {String resStr = HttpRequest.post(url).body(JSON.toJSONString(request)).addHeaders(headers).execute().body();return resStr;}/*** get请求** @param url* @param headers* @return*/public static String get(String url, Map<String, String> headers) {String resStr = HttpRequest.get(url).addHeaders(headers).execute().body();return resStr;}/*** put请求** @param url* @param headers* @param request* @return*/public static String put(String url, Map<String, String> headers, Map<String, Object> request) {String resStr = HttpRequest.put(url).addHeaders(headers).form(request).execute().body();return resStr;}/*** 配置代理* @param url* @param headers* @param request* @param host* @param port* @param authUser* @param authPassword* @return*/public static String proxy(String url, Map<String, String> headers, Map<String, Object> request, String host, int port, String authUser, String authPassword) {if (null != authUser) {//如果遇到https代理错误Proxy returns "HTTP/1.0 407 Proxy Authentication Required",可以尝试System.setProperty("jdk.http.auth.tunneling.disabledSchemes", "");Authenticator.setDefault(new Authenticator() {@Overridepublic PasswordAuthentication getPasswordAuthentication() {return new PasswordAuthentication(authUser, authPassword.toCharArray());}});}String resStr = HttpRequest.post(url)//此处代理类型http.setProxy(new Proxy(Proxy.Type.HTTP,new InetSocketAddress(host, port))).form(request).addHeaders(headers).execute().body();return resStr;}}

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。