🍬A set of tools that keep Java sweet.
Hutool is a small but comprehensive library of Java tools, achieved by encapsulation through static methods, reduce the cost of learning related APIs, increase productivity, and make Java as elegant as a functional programming language,let the Java be "sweet" too.
Hutool tools and methods from each user's crafted, it covers all aspects of the underlying code of Java development, it is a powerful tool for large project development to solve small problems, but also the efficiency of small projects;
Hutool is a project "util" package friendly alternative, it saves developers on the project of common classes and common tool methods of encapsulation time, so that development focus on business, at the same time can minimize the encapsulation is not perfect to avoid the bugs.
Hutool = Hu + tool,Is the original company project after the stripping of the underlying code of the open source library , "Hu" is the short name of the company , 'tool' that tool .
Hutool,' Hútú '(Chinese Pinyin),On the one hand, it is simple and easy to understand, on the other hand, it means "hard to be confused".(note: confused means 'Hútú (糊涂)' in china )
The goal of Hutool is to use a simple function instead of a complex piece of code, thus avoiding the problem of "copy and paste" code as much as possible and revolutionizing the way we write code.
To calculate MD5 for example:
- 👴【Before】Open a search engine -> search "Java MD5 encryption" -> open a blog -> copy and paste -> change it to work.
- 👦【Now 】import Hutool -> SecureUtil.md5()
Hutool exists to reduce code search costs and avoid bugs caused by imperfect code on the web.
this README is PR by chengxian-yi
A Java-based tool class for files, streams, encryption and decryption, transcoding, regular, thread, XML and other JDK methods for encapsulation,composing various Util tool classes, as well as providing the following modules:
module | description |
---|---|
hutool-aop | JDK dynamic proxy encapsulation to provide non-IOC faceting support |
hutool-bloomFilter | Bloom filtering to provide some Hash algorithm Bloom filtering |
hutool-cache | Simple cache |
hutool-core | Core, including Bean operations, dates, various Utils, etc. |
hutool-cron | Task scheduling with Cron expressions |
hutool-crypto | Provides symmetric, asymmetric and digest algorithm encapsulation |
hutool-db | Db operations based on ActiveRecord thinking. |
hutool-dfa | DFA models, such as multi-keyword lookups |
hutool-extra | Extension modules, third-party wrappers (template engine, mail, servlet, QR code, Emoji, FTP, word splitting, etc.) |
hutool-http | Http client |
hutool-log | Log (facade) |
hutool-script | Script execution encapsulation, e.g. Javascript |
hutool-setting | Stronger Setting Profile tools and Properties tools |
hutool-system | System parameter tools (JVM information, etc.) |
hutool-json | JSON |
hutool-captcha | Image Captcha |
hutool-poi | Tools for working with Excel and Word in POI |
hutool-socket | Java-based tool classes for NIO and AIO sockets |
hutool-jwt | JSON Web Token (JWT) implement |
Each module can be introduced individually, or all modules can be introduced by introducing hutool-all
as required.
📘Chinese back-up documentation
If you think Hutool is good, you can donate to buy the author a pack of chili~, thanks in advance ^_^.
We provide the T-Shirt and Sweater with Hutool Logo, please visit the shop:
👉 Hutool Shop 👈
<dependency>
<groupId>cn.hutool</groupId>
<artifactId>hutool-all</artifactId>
<version>5.8.27</version>
</dependency>
implementation 'cn.hutool:hutool-all:5.8.27'
🔔️note: Hutool 5.x supports JDK8+ and is not tested on Android platforms, and cannot guarantee that all tool classes or tool methods are available. If your project uses JDK7, please use Hutool 4.x version.
Download the entire project source code
gitee:https://gitee.com/dromara/hutool
github:https://github.com/dromara/hutool
cd ${hutool}
./hutool.sh install
Hutool's source code is divided into two branches:
branch | description |
---|---|
v5-master | The master branch, the branch used by the release version, is the same as the jar committed to the central repository and does not receive any pr or modifications. |
v5-dev | Development branch, which defaults to the next SNAPSHOT version, accepts modifications or pr |
When submitting feedback, please indicate which JDK version, Hutool version, and related dependency library version you are using.
Hutool welcomes anyone to contribute code to Hutool, but the author suffers from OCD and needs to submit a pr (pull request) that meets some specifications in order to care for the patient.:
- Improve the comments, especially each new method should follow the Java documentation specification to indicate the method description, parameter description, return value description and other information, if necessary, please add unit tests, if you want, you can also add your name.
- Code indentation according to Eclipse.
- Newly added methods do not use third-party library methods,Unless the method tool is add to the 'extra module'.
- Please pull request to the
v5-dev
branch. Hutool uses a new branch after 5.x:v5-master
is the master branch, which indicates the version of the central library that has been released, and this branch does not allow pr or modifications.