📚Introduction
Hutool
is a feature-rich and easy-to-use Java utility library. Through the use of various practical utility classes, it aims to help developers quickly and conveniently complete various development tasks.
These encapsulated tools cover strings, numbers, collections, encodings, dates, files, IO, encryption, database JDBC, JSON, HTTP clients and other series of operations to meet different development needs.
🎁Origin of Hutool Name
Hutool = Hu + tool. It is an open source library extracted from the basic code of the company project. ‘Hu’ represents the company name, and ’tool’ means tool. Hutool is homophonic with ‘Hútú (糊涂)’ in Chinese. On the one hand, it is concise and easy to understand, on the other hand, it means ‘hard to be confused’.
🍺Hutool Philosophy
Hutool
is both a tool set and a knowledge base. We never claim that the code is original. Most tool classes are transported and so:
- You can import and use, copy and modify for use, without having to indicate any information, just hope to feedback bugs in time.
- We strive to improve comments (now mainly in Chinese) to provide a good learning environment for source code learners, and try to make it understandable to everyone.
🛠️Included Components
A Java basic utility class that encapsulates JDK methods such as files, streams, encryption and decryption, encoding, regular expressions, threads, XML, etc. into various Util tool classes, and provides the following components:
Module | Description |
---|---|
hutool-aop | Encapsulation of JDK dynamic proxies, provides aspect support without IOC |
hutool-bloomFilter | Bloom filter, provides bloom filters for some hash algorithms |
hutool-cache | Simple cache implementation |
hutool-core | Core, including Bean operations, date, various Utils, etc. |
hutool-cron | Timing task module, provides timed tasks with Crontab expressions |
hutool-crypto | Encryption and decryption module, provides symmetric, asymmetric and digest algorithms |
hutool-db | Data manipulation based on ActiveRecord ideas after JDBC encapsulation |
hutool-dfa | Multi-keyword lookup based on DFA model |
hutool-extra | Extension module, encapsulation of third-party components (template engine, mail, Servlet, QR code, Emoji, FTP, word segmentation, etc.) |
hutool-http | Http client encapsulation based on HttpUrlConnection |
hutool-log | Log facade that automatically identifies logging implementation |
hutool-script | Script execution encapsulation, e.g. Javascript |
hutool-setting | More powerful Setting configuration file and Properties encapsulation |
hutool-system | System parameter call encapsulation (JVM information, etc.) |
hutool-json | JSON implementation |
hutool-captcha | Image verification code implementation |
hutool-poi | Encapsulation for Excel and Word in POI |
hutool-socket | Socket encapsulation based on Java’s NIO and AIO |
hutool-jwt | JSON Web Token (JWT) encapsulation implementation |
Each module can be introduced separately according to requirements, or all modules can be introduced through hutool-all
.
📝Documentation
📦Installation
🍊Maven
Add the following to the dependencies in pom.xml of your project:
<dependency>
<groupId>cn.hutool</groupId>
<artifactId>hutool-all</artifactId>
<version>5.8.22</version>
</dependency>
🍐Gradle
implementation 'cn.hutool:hutool-all:5.8.22'
🚽Download Jar
Click the following links to download the hutool-all-X.X.X.jar:
🔔️Note: Hutool 5.x supports JDK8+, and is not tested on Android, so not all classes or methods are guaranteed to work. If your project uses JDK7, please use Hutool 4.x version (no longer updated).
🚽Compile and Install
Visit Hutool’s Github home page: https://github.com/dromara/hutool to download the full project source code (v5-master or v5-dev branch). Then enter the Hutool project directory and execute: sh ./hutool.sh install Then you can introduce it via Maven.
🏗️Contributing
🎋Branch Overview
Hutool’s source code has two branches:
Branch | Purpose |
---|---|
v5-master | Main branch, used for release versions, same as jar in central repo, no PRs or modifications accepted |
v5-dev | Development branch, default next version is SNAPSHOT, accepts modifications and PRs |
🐞Provide Bug Feedback or Suggestions
When submitting bug reports, please specify the JDK version, Hutool version, and related dependency library versions you are using.