Skip to content

Latest commit

 

History

History
189 lines (140 loc) · 9.41 KB

README-EN.md

File metadata and controls

189 lines (140 loc) · 9.41 KB

A set of tools that keep Java sweet.

https://hutool.cn/

star github star netlify


-------------------------------------------------------------------------------

Introduction

Hutool is a small but comprehensive library of Java tools, encapsulation by 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.

Origin of the 'Hutool' name

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 )

How Hutool is changing the way we coding

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.

Thanks

this README is PR by chengxian-yi


Module

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

Each module can be introduced individually, or all modules can be introduced by introducing hutool-all as required.


Doc

Chinese documentation

API

Video


Install

Maven

<dependency>
    <groupId>cn.hutool</groupId>
    <artifactId>hutool-all</artifactId>
    <version>5.4.3</version>
</dependency>

Gradle

compile 'cn.hutool:hutool-all:5.4.3'

Download

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.

Compile and install

Download the entire project source code

gitee:https://gitee.com/loolly/hutool

github:https://github.com/looly/hutool

cd ${hutool}
./hutool.sh install

Other

Branch Description

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

Provide feedback or suggestions on bugs

When submitting feedback, please indicate which JDK version, Hutool version, and related dependency library version you are using.

Principles of PR(pull request)

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

  1. 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.
  2. Code indentation according to Eclipse.
  3. Newly added methods do not use third-party library methods,Unless the method tool is added to the 'extra module'.
  4. 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.

Donate

If you think Hutool is good, you can donate to buy tshe author a pack of chili~, thanks in advance ^_^.

gitee donate