常用工具类
概述
可以当成工具使用的类,主要是为其他的类提供便捷使用的类,该类中大部分方法都是静态方法,并且一般位于util/utils/tools
工具类介绍
获取地址工具类——AddressUtils
此工具类的主要作用是为业务方提供获取地址的统一方法。
(1)getrealaddressbyip()
- 作用描述:根据ip获取获取地理位置。
- 定义:
public static String getrealaddressbyip(String ip)
- 代码示例:
jsx
AddressUtils.getrealaddressbyip("10.19.54.163")
说明
若ip为内网IP则默认不查询地理位置。
类型转换工具类——Convert
此工具类的主要作用是为业务方提供类型转换的统一方法。
(1)toStr()
- 作用描述:转换为字符串。
- 定义:
public static String toStr(Object value, String defaultValue)
- 代码示例:
jsx
Convert.toStr(123,"defaultValue")
说明
- value表示“被转换的值”,defaultValue 表示“转换错误时的默认值”
- 如果给定的值为null,或者转换失败,返回默认值
- 转换失败不会报错
(2)toStr()
- 作用描述:转换为字符串。
- 定义:
public static String toStr(Object value)
- 代码示例:
jsx
Convert.toStr(123)
说明
- value表示“被转换的值”
- 如果给定的值为null,或者转换失败,返回默认值null
- 转换失败不会报错
(3)toChar()
- 作用描述:转换为字符。
- 定义:public static Character toChar(Object value, Character defaultValue)
- 代码示例:
jsx
Convert.toChar(123,'defaultValue');
说明
- value表示“被转换的值”,defaultValue 表示“转换错误时的默认值”
- 如果给定的值为null,或者转换失败,返回默认值
- 转换失败不会报错
(4)toChar()
- 作用描述:转换为字符。
- 定义:public static String toChar(Object value)
- 代码示例:
jsx
Convert.toChar(123)
说明
- value表示“被转换的值”
- 如果给定的值为null,或者转换失败,返回默认值null
- 转换失败不会报错
(5)toByte()
- 作用描述:转换为byte。
- 定义:public static Byte toByte(Object value, Byte defaultValue)
- 代码示例:
jsx
Convert.toByte(123,new Byte("defaultValue"))
说明
- value表示“被转换的值”, defaultValue 表示“转换错误时的默认值”
- 如果给定的值为null,或者转换失败,返回默认值
- 转换失败不会报错
(6)toByte()
- 作用描述:转换为byte。
- 定义:public static Byte toByte(Object value)
- 代码示例:
jsx
Convert.toByte(123)
说明
- value表示“被转换的值”, defaultValue 表示“转换错误时的默认值”
- 如果给定的值为null,或者转换失败,返回默认值null
- 转换失败不会报错
通用唯一识别码工具类——UUID
此工具类的主要作用是为业务方提供通用唯一识别码的实现方式。
提供方法 | 作用描述 | 定义 | 传参 | 返回值 |
---|---|---|---|---|
fastUUID() | 获取类型 4(伪随机生成的)UUID 的静态工厂。 使用加密的本地线程伪随机数生成器生成该 UUID。 | public static UUID fastUUID() | 随机生成的识别码 | |
randomUUID() | 获取类型 4(伪随机生成的)UUID 的静态工厂。 使用加密的强伪随机数生成器生成该 UUID。 | public static UUIDrandomUUID() | 随机生成的识别码 | |
nameUUIDFromBytes() | 根据指定的字节数组获取类型 3(基于名称的)UUID 的静态工厂。 | public static UUID nameUUIDFromBytes(byte[] name) | name 用于构造 UUID 的字节数组。 | 根据指定数组生成的识别码 |
fromString() | 根据字符串标准表示形式创建UUID。 | public static UUID fromString(String name) | name 指定的字符串 | 具有指定值的识别码 |
拼音转换工具类——ChinesePinyinUtils
提供将中文转成拼音,能拼取中文的拼音首字母等功能。
提供方法 | 作用描述 | 定义 | 传参 | 返回值 |
---|---|---|---|---|
isChinese() | 判断是否是中文字符(含中文标点符号) | public static boolean isChinese(char c) | c 输入的字符 | true or false |
containsChinese() | 判断是否包含中文字符(含中文标点符号) | public static boolean containsChinese(String str) | str 输入的字符串 | true or false |
isChineseWord() | 判断是否是中文(非标点符号) | public static boolean isChineseWord(char c) | c 输入的字符 | true or false |
containsChineseWords() | 判断是否包含汉字(非标点符号) | public static boolean containsChineseWords(String name) | name 输入的字符串 | true or false |
headCharOfString() | 获取字符串的首字母,如果是中文,则取它拼音的首字母 | public static char headCharOfString(String str) | str 输入的字符串 | 字符串首字母 |
convertToPinyin() | 将字符串转成拼音,如果不是中文则保持原样 | public static String convertToPinyin(String chineseWords) | chineseWords 输入字符串 | 拼音 |
headCharOfGbkCode() | 通过一个字符的gbk编码得到拼音首字母 | public static char headCharOfGbkCode(int gbkCode) | gbkCode gbk码值 | 拼音首字母 |
列权限脱敏规则工具类——DataMaskingUtils
对列数据进行脱敏展示。
提供方法 | 作用描述 | 定义 | 传参 | 返回值 |
---|---|---|---|---|
desensitizedName() | 姓名脱敏,保留姓, 名使用* 代替 | public static String desensitizedName(String fullName) | fullName 输入的姓名 | 脱敏后的姓名 |
desensitizedPhoneNumber() | 手机号脱敏,保留前三后四, 中间四位用* 表示 | public static String desensitizedPhoneNumber(String phoneNumber) | phoneNumber 输入的手机号 | 脱敏后的手机号 |
desensitizedIdNumber() | 身份证脱敏,保留前三后四, 中间四位用* 表示 | public static String desensitizedIdNumber(String idNumber) | idNumber 输入的身份证号 | 脱敏后的身份证号 |
desensitizedAddress() | 地址脱敏 | public static String desensitizedAddress(String address) { | address 输入的地址 | 脱敏后的地址 |
desensitizedEmail() | 电子邮件脱敏 | public static String desensitizedEmail(String email) | email 输入的电子邮件 | 脱敏后的电子邮件 |
desensitizedBankCard() | 【银行卡号】前六位,后四位,其他用星号隐藏每位1个星号,比如:6222600**********1234 | public static String desensitizedBankCard(String cardNum) | cardNum 输入的银行卡号 | 脱敏后的银行卡号 |
desensitizedText() | 普通文本脱敏 | public static String desensitizedText(String text) | text 输入的文本 | 脱敏后的普通文本 |
获取ip工具类——IpUtils
此工具类的主要作用是为业务方提供获取ip的统一方法。
提供方法 | 作用描述 | 定义 | 传参 | 返回值 |
---|---|---|---|---|
getClientIP() | 获取客户端ip. 请求体默认从全局上下文获取. | public static String getClientIP(String... otherHeaderNames) | otherHeaderNames 其他自定义头文件 | 客户端ip |
getClientIP() | 获取客户端ip | public static String getClientIP(HttpServletRequest request, String... otherHeaderNames) | request 请求对象 otherHeaderNames 其他自定义头文件 | 客户端ip |
客户端工具类——ServletUtils
此工具类的主要作用是为业务方提供对servlet操作的一系列方法。。
提供方法 | 作用描述 | 定义 | 传参 | 返回值 |
---|---|---|---|---|
getParameter() | 获取String参数 | public static String getParameter(String name) | name | String参数 |
getParameter() | 获取String参数 | public static String getParameter(String name, String defaultValue) | name,defaultValue | String参数 |
getParameterToInt() | 获取Integer参数 | public static Integer getParameterToInt(String name) | name | Integer参数 |
getParameterToInt() | 获取Integer参数 | public static Integer getParameterToInt(String name, Integer defaultValue) | name,defaultValue | Integer参数 |
getRequest() | 获取request | public static HttpServletRequest getRequest() | request | |
getResponse() | 获取response | public static HttpServletResponse getResponse() | response | |
getSession() | 获取session | public static HttpSession getSession() | session | |
getRequestAttributes() | 获取requestAttributes | public static ServletRequestAttributes getRequestAttributes() | requestAttributes | |
renderString() | 将字符串渲染到客户端 | public static String renderString(HttpServletResponse response, String string) | response 渲染对象 string 待渲染的字符串 | null |
Web应用工具类——WebUtils
此工具类的主要作用是为业务方提供对Web应用操作的一系列方法。
提供方法 | 作用描述 | 定义 | 传参 | 返回值 |
---|---|---|---|---|
getCookieVal() | 读取cookie | public static String getCookieVal(String name) | name | cookie value |
getCookieVal() | 读取cookie | public static String getCookieVal(HttpServletRequest request, String name) | request,name | cookie value |
removeCookie() | 清除 某个指定的cookie | public static void removeCookie(HttpServletResponse response, String key) | response,key | |
setCookie() | 设置cookie | public static void setCookie(HttpServletResponse response, String name, String value, int maxAgeInSeconds) | response,name,value,maxAgeInSeconds | |
getRequest() | 获取 HttpServletRequest | public static HttpServletRequest getRequest() | HttpServletRequest | |
getResponse() | 获取 HttpServletResponse | public static HttpServletResponse getResponse() | HttpServletResponse | |
renderJson() | 返回json | public static void renderJson(HttpServletResponse response, Object result) | response,result | |
renderJson() | 返回json | public static void renderJson(HttpServletResponse response, Object result, String contentType) | response,result,contentType | |
readJson() | 从 request 中获取 body, 并转成 javabean, contentType 必须包含'application/json' | public static <T> T readJson(HttpServletRequest request, Class<T> clazz) | request,clazz | <T> |
列表工具类——ListUtils
此工具类的主要作用是为业务方提供判断列表是否为空的统一方法。
提供方法 | 作用描述 | 定义 | 传参 | 返回值 |
---|---|---|---|---|
isEmptly() | 列表是否为空. | public static boolean isEmptly(Collection<?> collection) | collection 集合 | true or false |
isNotEmptly() | 列表是否不为空. | public static boolean isNotEmptly(Collection<?> collection) | collection 集合 | true or false |
语言工具类——LocaleHolder
此工具类的主要作用是为业务方提供获得语言的统一方法。
提供方法 | 作用描述 | 定义 | 传参 | 返回值 |
---|---|---|---|---|
getLang() | 获取当前语言. | public static String getLang() | 当前语言 | |
getLocale() | 获取当前语言. | public static Locale getLocale() | 当前语言 |
日期工具类——DateUtils
此工具类提供一些常用的日期操作方法
提供方法 | 作用描述 | 定义 | 传参 | 返回值 |
---|---|---|---|---|
getNowDate() | 获取Date格式当前时间 | public static Date getNowDate() | Date格式当前时间 | |
getDate() | 获取YYYY_MM_DD格式的当前日期字符串 | public static String getDate() | YYYY_MM_DD格式的当前日期 | |
getTime() | 获取YYYY_MM_DD_HH_MM_SS格式时间字符串 | public static final String getTime() | YYYY_MM_DD_HH_MM_SS格式时间字符串 | |
dateTimeNow() | 获取YYYYMMDDHHMMSS格式时间字符串 | public static final String dateTimeNow() | YYYYMMDDHHMMSS格式时间字符串 | |
dateTimeNow() | 按指定格式返回当前时间格式字符串 | public static final String dateTimeNow(final String format) | format | 当前时间格式字符串 |
dateTime() | 按照YYYY_MM_DD格式传入的时间 | public static final String dateTime(final Date date) | date | YYYY_MM_DD格式传入的时间 |
parseDateToStr() | 按格式格式化传入的时间 | public static final String parseDateToStr(final String format, final Date date) | format,date | 格式化时间字符串 |
dateTime{} | 毫秒数按格式格式化 | public static final Date dateTime(final String format, final String ts) | format,ts | 格式化后的毫秒时间 |
datePath() | 获取yyyy/MM/dd格式的日期 | public static final String datePath() | yyyy/MM/dd格式的日期 | |
dateTime() | 获取yyyyMMdd格式的日期 | public static final String dateTime() | yyyyMMdd格式的日期 | |
parseDate() | 日期型字符串转化为日期格式 | public static Date parseDate(Object str) | str | 日期 |
getServerStartDate() | 获取服务器启动时间 | public static Date getServerStartDate() | 启动时间 | |
getDatePoor() | 计算两个时间差 | public static String getDatePoor(Date endDate, Date nowDate) | endDate,nowDate | 时间差 |
对象工具类——ObjectUtils
此工具类的主要作用是为业务方提供对object操作的一系列方法。
提供方法 | 作用描述 | 定义 | 传参 | 返回值 |
---|---|---|---|---|
isEmpty() | 判断一个Collection是否为空,包含List,Set,Queue. | public boolean isEmpty(Collection<?> coll) | coll 要判断的Collection | true or false |
isNotEmpty() | 判断一个Collection是否非空,包含List,Set,Queue. | public boolean isNotEmpty(Collection<?> coll) | coll 要判断的Collection | true or false |
isEmpty() | 判断一个对象数组是否为空. | public boolean isEmpty(Object[] objects) | objects 要判断的对象数组 | true or false |
isNotEmpty() | 判断一个对象数组是否非空. | public boolean isNotEmpty(Object[] objects) | objects 要判断的对象数组 | true or false |
isEmpty() | 判断一个Map是否为空. | public boolean isEmpty(Map<?, ?> map) | map 要判断的map | true or false |
isNotEmpty() | 判断一个Map是否非空. | public boolean isNotEmpty(Object[] objects) | map 要判断的map | true or false |
isNull() | 断一个对象是否为空. | public boolean isNull(Object object) | object 要判断的对象 | true or false |
isNotNull() | 断一个对象是否非空. | public boolean isNull(Object object) | object 要判断的对象 | true or false |
isArray() | 判断一个对象是否是数组类型. | public boolean isArray(Object object) | object 要判断的对象 | true or false |
trim() | 去空格. | public String trim(String str) | str 字符串 | 字符串 |
toUnderScoreCase() | 下划线转驼峰命名. | public String toUnderScoreCase(String str) | str 字符串 | 字符串 |
convertToCamelCase() | 将下划线大写方式命名的字符串转换为驼峰式. | public String convertToCamelCase(String name) | name 转换前的下划线大写方式命名的字符串 | 转换后的驼峰式命名的字符串 |
inStringIgnoreCase() | 是否包含字符串. | public boolean inStringIgnoreCase(String str, String... strs) | str 验证字符串 strs 字符串组 | true or false |
toCamelCase() | 驼峰式命名法 例如:user_name->userName. | public String toCamelCase(String s) | str 字符串 | 驼峰式命名字符串 |
sql操作工具类——SqlUtils
此工具类的主要作用是为业务方提供对sql语句操作的一系列方法。
(1)escapeOrderBySql()
- 作用描述:检查字符,防止注入绕过。
- 定义:public static String escapeOrderBySql(String value)
- 代码示例:
jsx
SqlUtils.escapeOrderBySql("select name, age from user order by age")
说明
- value表示“要检查的SQL语句”
(2)isValidOrderBySql()
- 作用描述:验证 order by 语法是否符合规范。
- 定义:public static boolean isValidOrderBySql(String value)
- 代码示例:
jsx
SqlUtils.isValidOrderBySql("select name, age from user order by age")
说明
- value表示“要检查的SQL语句”
生成随机字符串工具类——RandomUtils
此工具类的主要作用是为业务方提供生成随机字符串的统一方法。
(1)randomStr()
- 作用描述:生成随机字符串,包含数字和字母。
- 定义:public static String randomStr(int length)
- 代码示例:
jsx
RandomUtils.randomStr(12)
说明
- length表示“长度”
(2)randomInt()
- 作用描述:生成随机字符串,只包含数字。
- 定义:public static String randomInt(int length)
- 代码示例:
jsx
RandomUtils.randomInt(12)
说明
- length表示“长度”
unicode和gbk转换类——TextCodeUtils
此工具类的主要作用是为业务方统一unicode
和gbk
转换方法。
提供方法 | 作用描述 | 定义 | 传参 | 返回值 |
---|---|---|---|---|
gbk2Unicode() | gbk编码转unicode码 | public static int gbk2Unicode(int gbkCode) | int | int |
unicode2Gbk() | unicode码转gbk编码 | public static int unicode2Gbk(int unicode) | int | int |
Bean工具类——BeanUtils
此工具类的主要作用是为业务方统一获取对象copy及驼峰法命名的方法。
提供方法 | 作用描述 | 定义 | 传参 | 返回值 |
---|---|---|---|---|
copyBeanProp() | Bean属性复制工具方法 | public static void copyBeanProp(Object dest, Object src) | Object,Object | null |
getSetterMethods() | 获取对象的setter方法 | public static List<Method> getGetterMethods(Object obj) | Object | List |
getterMethods() | 获取对象的getter方法 | public static List<Method> getGetterMethods(Object obj) | Object | List |
isMethodPropEquals() | 检查Bean方法名中的属性名是否相等 | public static boolean isMethodPropEquals(String m1,String m2) | String,String | boolean |
toUnderScoreCase() | 下划线转驼峰命名 | public static String toUnderScoreCase(String str) | String | String |