常用工具类
整合项目中常用的各种工具类
after95
Java 是世界上最好的语言
展开
-
基于 Redis 的 分布式 ID 生成器
基于 Redis 的 分布式 ID 生成器,通过 Redis 分发 ID 号段实现分布式生成;通过 Hashid 算法实现固定长度的 62 位编码的 ID 字符串,可用于短链 Key 的生成原创 2023-12-26 08:58:51 · 525 阅读 · 0 评论 -
节假日计算器
依据国务院发布的节假日信息配置计算节假日信息原创 2023-12-25 11:32:35 · 775 阅读 · 0 评论 -
基于Redis分布式锁的防重复提交组件
通过自定义注解结合 redis分布式锁实现防重复提交原创 2023-05-30 16:20:47 · 375 阅读 · 0 评论 -
考虑排序值相同的情况下取前几名数据工具
考虑排序值相同的情况下取前几名数据工具1. 数据:[1,2,3,3,3,4,5] a. 取前 3 名返回:[1,2,3,3,3] b. 取前 4 名返回:[1,2,3,3,3]2. 数据:[1,2,3,4,5] a. 取前 3 名返回:[1,2,3] b. 取前 4 名返回:[1,2,3,4]3. 数据:[5,4,3,2,1] a. 取前 3 名返回:[1,2,3] b. 取前 4 名返回:[1,2,3,4]原创 2022-09-16 21:23:44 · 152 阅读 · 0 评论 -
笛卡尔乘积算法
笛卡尔乘积算法,可用于通过商品销售属性计算所有的售卖组合原创 2021-12-28 09:05:23 · 400 阅读 · 0 评论 -
只展示姓的姓名脱敏,针对复姓做特殊处理
import com.google.common.collect.ImmutableList;import org.apache.commons.lang3.StringUtils;import java.util.ArrayList;import java.util.List;/** * 名字处理工具类 * * @author Neo * @version 1.0 * @since 2021/6/18 16:54 */public class NameUtils { .原创 2021-06-21 09:29:46 · 1463 阅读 · 2 评论 -
Properties 文件差异比较工具
import cn.hutool.core.io.FileUtil;import lombok.Builder;import lombok.Data;import lombok.extern.slf4j.Slf4j;import org.apache.commons.collections4.CollectionUtils;import org.apache.commons.lang3.StringUtils;import java.nio.charset.StandardCharsets;原创 2021-06-17 13:14:01 · 539 阅读 · 0 评论 -
Easy Code 模板
这是一套基于MyBatis Plus 的模板,mapper.xml 仅生成 resultMap、columnSql、whereSql、updateSqlentity.java##引入宏定义$!define##使用宏定义设置回调(保存位置与文件后缀)#save("/entity", ".java")##使用宏定义设置包后缀#setPackageSuffix("entity")##使用全局变量实现默认包导入$!autoImportimport java.io.Serializabl.原创 2021-04-09 16:41:11 · 600 阅读 · 0 评论 -
Java 收货地址智能解析
收货地址智能解析原创 2021-03-25 15:03:24 · 7982 阅读 · 17 评论 -
手机号银行卡格式化
格式化方法/** * 指定位置插入符号 * * insert("1223334444", "-", Boolean.FALSE, 1, 2, 3) ===> "1-22-333-4444" * insert("1223334444", "-", Boolean.TRUE, 1, 2, 3, 5) ===> "1-22-333-4444-" * * @param string 待处理字符串 * @param symbol 待插原创 2021-02-26 15:02:35 · 227 阅读 · 0 评论 -
Java 万物皆可 Tree 工具类
ITree - 树数据接口import java.util.List;/** * 树数据接口 * * @author: Neo * @date: 2021/1/4 14:24 * @version: 1.0 */public interface ITree<T, K> { /** * 节点ID * * @return */ K id(); /** * 父节点ID * * @r原创 2021-01-04 17:20:44 · 4023 阅读 · 0 评论 -
自定义序列化配置
以时间格式序列化为例import com.fasterxml.jackson.core.JsonGenerator;import com.fasterxml.jackson.core.JsonParser;import com.fasterxml.jackson.databind.DeserializationContext;import com.fasterxml.jackson.databind.JsonDeserializer;import com.fasterxml.jackson.d.原创 2021-01-04 14:20:51 · 182 阅读 · 0 评论 -
枚举字典管理器
枚举字典管理器后端通常需要为了不使用魔法值而去定义枚举类,而枚举类又经常需要被当做数据字典传给前端。次套解决方案就是为了解决枚举值的统一管理的问题,枚举类只要实现 EnumService接口,就可以集成这套方案。EnumDictionary - 数据字典对象package com.neo.common.enums;import java.io.Serializable;/** * 数据字典对象 * * @author: Neo * @date: 2021/1/1 20:10 *原创 2021-01-01 21:45:26 · 1085 阅读 · 0 评论 -
Java 数据脱敏工具类
数据脱敏工具类DesensitizationUtils.javaimport org.apache.commons.lang3.StringUtils;import java.util.Objects;/** * 数据脱敏工具类 * * @Author: Neo * @Date: 2020/8/19 16:21 * @Version: 1.0 */public class DesensitizationUtils { /** * 默认填充字符 */原创 2020-08-19 17:59:36 · 2044 阅读 · 0 评论 -
Java 比较两个对象属性的不同
Java 比较两个对象属性的不同Java 比较两个对象属性的不同定义类型处理接口:`TypeProcessHandle.java`定义三个类型处理实现类,如有其它特殊需求也可实现`TypeProcessHandle`接口进行拓展定义必要的注解类:`Property.java`使用两个其它工具类创建:`BuilderDifferenceInfoHandle.java`测试创建测试Bean:`Test...原创 2019-12-13 15:49:36 · 1943 阅读 · 0 评论