Java实用工具库

Posted by Wh0ami-hy on May 24, 2023

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. 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.2. 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.3. Spring 自带的工具类

Spring的工具类都是以Utils结尾,org.springframework.util,所以要查看这些工具类,只需要在API文档中查询所有*Utils即可

文档地址


本站总访问量