generated from mingliqiye/lib-tem
All checks were successful
Gitea Actions Build / Build (push) Successful in 1m1s
JsonApiAutoConfiguration类中,移除了未使用的直接导入语句,并将@ConditionalOnClass注解中的类名改为全限定名字符串形式。这样可以避免即使没有实际使用到这些类时也加载它们的情况,从而提高启动效率。同时,对方法参数类型进行了明确指定,增强了代码可读性。
- 移除了`ObjectMapper`, `Gson`, `GsonJsonApi` 和 `JacksonJsonApi` 的直接导入。 - 将`@ConditionalOnClass`注解中的类名改为全限定名字符串形式。 - 对`jacksonJsonApi`和`gsonJsonApi`方法的参数类型进行了明确指定。
mingli-utils
一个功能丰富的Java工具类库,提供字符串处理、时间处理、文件操作、网络工具、哈希计算等常用工具方法。
项目概述
mingli-utils 是一个 Java 工具类库,提供各种常用的工具方法,旨在简化开发流程,减少重复代码。
技术栈
- JDK 版本: Java 8
- 构建工具: Gradle (Kotlin DSL)
- 依赖库:
- Lombok 1.18.38: 用于简化 Java Bean 代码
- Jackson Databind 2.19.2: 用于 JSON 序列化
- MyBatis 3.5.19: 持久层框架
- Spring Boot Starter 2.7.14: Spring Boot基础依赖
- Bouncy Castle 1.81: 加密算法库
- UUID Creator 6.1.0: UUID生成工具
- jBCrypt 0.4: BCrypt加密实现
- JetBrains Annotations 24.0.0: 注解库
主要功能模块
字符串处理 (StringUtil)
提供常用的字符串操作方法:
toString(): 对象转字符串format(): 格式化字符串isEmpty(): 判断字符串是否为空join(): 连接字符串split(): 分割字符串
集合工具 (Lists)
提供创建各种List实现的便捷方法:
newArrayList(): 创建ArrayList实例newLinkedList(): 创建LinkedList实例newVector(): 创建Vector实例
时间处理 (time)
提供时间相关功能:
DateTime: 时间处理类,封装了LocalDateTime的操作DateTimeOffset: 时间偏移量处理Formatter: 常用时间格式枚举DateTimeUnit: 时间单位常量定义
文件操作 (FileUtil)
提供文件读写等操作:
readFileToString(): 读取文件内容为字符串writeStringToFile(): 将字符串写入文件readLines(): 读取文件内容为字符串列表(按行分割)writeLines(): 将字符串列表写入文件(每行一个元素)copyFile(): 复制文件deleteFile(): 删除文件exists(): 检查文件是否存在getFileSize(): 获取文件大小
网络工具 (network)
提供网络地址处理功能:
NetworkEndpoint: 网络端点(IP+端口)封装NetworkAddress: 网络地址处理(支持IPv4/IPv6)NetworkPort: 网络端口处理
哈希工具 (HashUtils)
提供哈希计算功能:
calculateFileHash(): 计算文件哈希值bcrypt(): BCrypt加密checkBcrypt(): 验证BCrypt哈希
系统工具 (SystemUtil)
提供系统相关工具方法:
isWindows()/isMac()/isUnix(): 操作系统类型判断getJdkVersion(): 获取JDK版本getLocalIps(): 获取本地IP地址
UUID工具 (uuid)
提供UUID处理功能:
UUID: UUID封装类,支持时间戳型UUID
并发工具 (concurrent)
提供线程安全的数据结构:
IsChanged: 基于CAS操作的线程安全包装类
函数式工具 (functions)
提供函数式编程支持:
Debouncer: 防抖器实现
使用示例
// 字符串格式化
String message =
StringUtil.format("Hello {}, you are {} years old", "张三", 25);
// 创建列表
List<String> fruits = Lists.newArrayList("苹果", "香蕉", "橙子");
// 连接字符串
String result = StringUtil.join(", ", fruits);
// 时间处理
DateTime now = DateTime.now();
String formatted = now.format(Formatter.STANDARD_DATETIME);
// 文件操作
FileUtil.
writeStringToFile("example.txt","Hello World");
String content = FileUtil.readFileToString("example.txt");
// 网络地址处理
NetworkEndpoint endpoint = NetworkEndpoint.of("127.0.0.1", 8080);
InetSocketAddress address = endpoint.toInetSocketAddress();
// 哈希计算
String hash = HashUtils.bcrypt("password");
boolean matches = HashUtils.checkBcrypt("password", hash);
构建和运行
使用以下命令构建项目:
./gradlew build
发布到本地Maven仓库:
./gradlew publishToMavenLocal
项目配置
项目在 gradle.properties 中定义了以下配置:
JDKVERSIONS=1.8
GROUPSID=com.mingliqiye.utils
ARTIFACTID=mingli-utils
VERSIONS=1.0.4
License
本项目采用Apache 2.0许可证,详细信息请查看 LICENSE 文件。
Description
Languages
Kotlin
89.3%
Java
10.7%