📚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

📘Documentation

📙API Reference

🎬Video Introduction



📦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.