Skip to content

让人迷茫的原因只有一个,那就是本该拼搏的年纪,想得太多,却做得太少。写了一些工具类,帮助项目中更好的解决问题

Notifications You must be signed in to change notification settings

highger/myutils

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

31 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

myutils

该项目中维护了个人常用的一些工具类,可以帮助自己和大家在以后的项目更好的解决问题。

id生成器:TransferNoGenerator

该项目中根据当前时间+redis维护一个自定义id生成器,简单易操作。

策略模式辅助类:AgencyApplicationContext

AgencyApplicationContext工具类通过获取Spring Bean中自定义注解,实现获取对应策略,来方便我们使用策略模式。

模版方法模式样板:TemplateTest

这个模版方法demo,主要用于输出数据,已对异常做了处理,并对任务执行时间做了统计。 在工作项目中,我们可以基于注解结合策略模式,实现模版的选择,可更加简化我们项目中的代码。新增需求只需要实现定制化修改即可,增强了代码的可维护性,加速我们系统开发的进度。

分布式锁:DistributedLock

该项目中基于zookeeper实现了DistributedLock分布式锁,用于解决分布式项目数据共享问题。

Excel操作类:ExcelHelper

该项目中通过ExcelHelper来实现Excel导出,通过自定义注解@ExcelBean、@ExcelColumn+反射+POI实现Excel导出。

时间转换类:DateConverter

该项目中通过DateConverter工具类实现LocalDateTime、LocalDate与Date之间的相互转化。

Bean copy工具类:BeanCopierUtils

BeanCopierUtils通过反射技术实现bean字段拷贝,避免代码中大量的get/set。

时间统计类:TimerUtil

项目中我们需要统计代码执行时间,可通过该类辅助完成。也可自定义输出精度,最大精度为纳秒。只需通过构造方法来指定,并通过toString即可获得。

字符串解析工具类:JoinerUtils&SplitterUtils

项目中如果我们需要对固定格式字符串进行解析,我们可以通过这个工具类完成,该工具借助谷歌guava工具类Joiner&Splitter来实现的。 例如:

String nameList="张三,李四,王二,麻子";
List<String> names = SplitterUtils.COMMA.splitToList(nameList);
System.out.println(names);
输出:
[张三, 李四, 王二, 麻子]

字段校验类:ValidateUtils

项目中我们常需要对上游或数据库拿到的数据进行非空、长度、格式等校验,该工具类基于Validate实现此功能,避免了我们进行手动的非空判断。

Lombok

通过注解省略getter/setter,构造函数,toString.

极大地减少垃圾代码量. 文档

JSON

  • FastJson 中文文档优秀 文档
  • Jackson 国外项目首选,客制化配置更多,三方库更多 简易教程

About

让人迷茫的原因只有一个,那就是本该拼搏的年纪,想得太多,却做得太少。写了一些工具类,帮助项目中更好的解决问题

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages