1. MyExcel
功能全面的 Excel 处理工具,内存占用低
<dependency>
<groupId>com.github.liaochong</groupId>
<artifactId>myexcel</artifactId>
<version>4.3.0.RC4</version>
</dependency>
2. EasyExcel
阿里的一款 POI 封装工具
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>easyexcel</artifactId>
<version>3.3.3</version>
</dependency>
3. x-easypdf 快速生成 PDF 文档
<dependency>
<groupId>wiki.xsx</groupId>
<artifactId>x-easypdf</artifactId>
<version>版本号</version>
</dependency>
4. IdGenerator 唯一 ID 生成器
<dependency>
<groupId>com.github.yitter</groupId>
<artifactId>yitter-idgenerator</artifactId>
<version>1.0.6</version>
</dependency>
5. OSHI
一款为 Java 语言提供的基于 JNA 的(本机)操作系统和硬件信息库
通过 OSHI ,我们不需要安装任何其他本机库,就能查看内存和 CPU 使用率、磁盘和分区使用情况、设备、传感器等信息
<dependency>
<groupId>com.github.oshi</groupId>
<artifactId>oshi-core</artifactId>
<version>6.4.0</version>
</dependency>
6. JsonPath
读取 JSON 的 Java DSL。JsonPath 一种面向 JSON 结构的查询语言。相当于 XPATH 对于 XML、SQL 对于关系型数据库,它们都是比较通用的 DSL
<dependency>
<groupId>com.jayway.jsonpath</groupId>
<artifactId>json-path</artifactId>
<version>2.8.0</version>
</dependency>
7. Caffeine
强大的本地缓存。除了基本的缓存功能之外,Caffeine 还提供了过期、异步加载等功能。Caffeine是Guava Cache的改进版
Java 11 及以上版本使用 3.x
,否则使用2.x
<dependency>
<groupId>com.github.ben-manes.caffeine</groupId>
<artifactId>caffeine</artifactId>
<version>3.1.5</version>
</dependency>
8. JSON处理相关
Jackson(推荐)
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-databind</artifactId>
<version>2.10.2</version>
</dependency>
FastJson(不推荐)
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>fastjson</artifactId>
<version>1.2.62</version>
</dependency>
Gson(不推荐)
<dependency>
<groupId>com.google.code.gson</groupId>
<artifactId>gson</artifactId>
<version>2.8.8</version> <!-- 替换为最新版本 -->
</dependency>
9. jave-all-deps音视频解析
可以根据自己平台选择不同的依赖库,这种方式需要首先添加 java-core
<dependency>
<groupId>ws.schild</groupId>
<artifactId>jave-core</artifactId>
<version>3.5.0</version>
</dependency>
然后再根据自己使用的不同平台,继续添加不同依赖库
<dependency>
<groupId>ws.schild</groupId>
<artifactId>jave-nativebin-win64</artifactId>
<version>3.5.0</version>
</dependency>
10. HTTP工具
OkHttp3
<dependency>
<groupId>com.squareup.okhttp3</groupId>
<artifactId>okhttp</artifactId>
<version>4.10.0</version>
</dependency>
WebClient
从 Spring Framework 5 开始推荐使用的http请求工具
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-webflux</artifactId>
</dependency>
11. 工具类
11.1. Hutool
https://www.hutool.cn/docs/#/
注意 Hutool 5.x支持JDK8+,对Android平台没有测试
<dependency>
<groupId>cn.hutool</groupId>
<artifactId>hutool-all</artifactId>
<version>5.8.16</version>
</dependency>
一个Java基础工具类,对文件、流、加密解密、转码、正则、线程、XML等JDK方法进行封装,组成各种Util工具类,同时提供以下组件:
模块 | 介绍 |
---|---|
hutool-aop | JDK动态代理封装,提供非IOC下的切面支持 |
hutool-bloomFilter | 布隆过滤,提供一些Hash算法的布隆过滤 |
hutool-cache | 简单缓存实现 |
hutool-core | 核心,包括Bean操作、日期、各种Util等 |
hutool-cron | 定时任务模块,提供类Crontab表达式的定时任务 |
hutool-crypto | 加密解密模块,提供对称、非对称和摘要算法封装 |
hutool-db | JDBC封装后的数据操作,基于ActiveRecord思想 |
hutool-dfa | 基于DFA模型的多关键字查找 |
hutool-extra | 扩展模块,对第三方封装(模板引擎、邮件、Servlet、二维码、Emoji、FTP、分词等) |
hutool-http | 基于HttpUrlConnection的Http客户端封装 |
hutool-log | 自动识别日志实现的日志门面 |
hutool-script | 脚本执行封装,例如Javascript |
hutool-setting | 功能更强大的Setting配置文件和Properties封装 |
hutool-system | 系统参数调用封装(JVM信息等) |
hutool-json | JSON实现 |
hutool-captcha | 图片验证码实现 |
hutool-poi | 针对POI中Excel和Word的封装 |
hutool-socket | 基于Java的NIO和AIO的Socket封装 |
hutool-jwt | JSON Web Token (JWT)封装实现 |
可以根据需求对每个模块单独引入,也可以通过引入hutool-all
方式引入所有模块。
11.2. Guava
Google公司开发的一款Java类库扩展工具包,内含了丰富的API,涵盖了集合、缓存、并发、I/O等多个方面。使用这些API一方面可以简化我们代码,使代码更为优雅,另一方面它补充了很多jdk中没有的功能
Guava的工具类都在com.google.common.*
下
<dependency>
<groupId>com.google.guava</groupId>
<artifactId>guava</artifactId>
<version>30.1.1-jre</version>
</dependency>
11.3. Apache Commons
组件 | 功能介绍 |
---|---|
commons-beanutils | 提供了对于JavaBean进行各种操作,克隆对象,属性等等. |
commons-betwixt | XML与Java对象之间相互转换. |
commons-codec | 处理常用的编码方法的工具类包 例如DES、SHA1、MD5、Base64等. |
commons-collections | java集合框架操作. |
commons-compress | java提供文件打包 压缩类库. |
commons-configuration | 一个java应用程序的配置管理类库. |
commons-dbcp | 提供数据库连接池服务. |
commons-dbutils | 提供对jdbc 的操作封装来简化数据查询和记录读取操作. |
commons-email | java发送邮件 对javamail的封装. |
commons-fileupload | 提供文件上传功能. |
commons-httpclient | 提供HTTP客户端与服务器的各种通讯操作. 现在已改成HttpComponents |
commons-io | io工具的封装. |
commons-lang | Java基本对象方法的工具类包 如:StringUtils,ArrayUtils,DateUtils,DateFormatUtils等等. |
commons-logging | 提供的是一个Java 的日志接口. |
commons-validator | 提供了客户端和服务器端的数据验证框架. |
11.4. Spring 自带的工具类
Spring的工具类都是以Utils结尾,org.springframework.util
,所以要查看这些工具类,只需要在API文档中查询所有*Utils
即可