GitHub Java项目推荐|功能丰富的 Java 工具包|提高开发效率
GitHub Java项目推荐|功能丰富的 Java 工具包|提高开发效率
功能丰富的 Java 工具包。它帮助我们实现了常用的工具方法,从而减少代码的体积,提高开发效率。该项目最初是作者工作项目中的util模块,后来慢慢积累并加入更多非业务相关工具类方法。经过整理修改,最终形成丰富的开源工具集。示例代码:
int a = 1;
//aStr为"1"
String aStr = Convert.toStr(a);
项目分析
仓库名称:hutool
标星(star):7237 (很不错的实用项目,大神作品,建议关注)
标星趋势
关注(watch):359
拷贝(fork):2357
贡献人数:5
仓库大小:30 MB
主要开发语言:Java
语言分布:Java:99.92%、Shell:0.08%、FreeMarker:0.00%
代码提交周期分布:
作者动态:
综合推荐指数
3颗星
项目概述
简介
Hutool是一个Java工具包,也只是一个工具包,它帮助我们简化每一行代码,减少每一个方法,让Java语言也可以“甜甜的”。它最初是作者项目中“util”包的一个整理,后来慢慢积累并加入更多非业务相关功能,并广泛学习其它开源项目精髓,经过自己整理修改,最终形成丰富的开源工具集。
Hutool是Hu + tool的自造词,谐音“糊涂”,寓意,追求“万事都作糊涂观,无所谓失,无所谓得”的境界。
Hutool如何改变我们的coding方式
Hutool的目标是使用一个工具方法代替一段复杂代码,从而最大限度的避免“复制粘贴”代码的问题,彻底改变我们写代码的方式。
以计算MD5为例:
- 【以前】打开百度 -> 搜“Java MD5加密” -> 打开某篇博客-> 复制粘贴 -> 改改好用
- 【现在】引入Hutool -> SecureUtil.md5()
同样,当我们想实现什么功能,脑袋中第一个想到的就是去找XXXUtil,而非百度。
包含组件
一个Java基础工具类,对文件、流、加密解密、转码、正则、线程、XML等JDK方法进行封装,组成各种Util工具类,同时提供以下组件:
- hutool-aop JDK动态代理封装,提供非IOC下的切面支持
- hutool-bloomFilter 布隆过滤,提供一些Hash算法的布隆过滤
- hutool-cache 简单缓存实现
- hutool-core 核心,包括Bean操作、日期、各种Util等
- hutool-cron 定时任务模块,提供类Crontab表达式的定时任务
- hutool-crypto 加密解密模块,提供对称、非对称和摘要算法封装
- hutool-db JDBC封装后的数据操作,基于ActiveRecord思想
- hutool-dfa 基于DFA模型的多关键字查找
- hutool-extra 扩展模块,对第三方封装(模板引擎、邮件、Servlet、二维码、Emoji、FTP、分词等)
- hutool-http 基于HttpUrlConnection的Http客户端封装
- hutool-log 自动识别日志实现的日志门面
- hutool-script 脚本执行封装,例如Javascript
- hutool-setting 功能更强大的Setting配置文件和Properties封装
- hutool-system 系统参数调用封装(JVM信息等)
- hutool-json JSON实现
- hutool-captcha 图片验证码实现
- hutool-poi 针对POI中Excel的封装
- hutool-socket 基于Java的NIO和AIO的Socket封装
可以根据需求对每个模块单独引入,也可以通过引入hutool-all方式引入所有模块。
安装
Maven
在项目的pom.xml的dependencies中加入以下内容:
<dependency>
<groupId>cn.hutool</groupId>
<artifactId>hutool-all</artifactId>
<version>4.6.4</version>
</dependency>
Gradle
compile 'cn.hutool:hutool-all:4.6.4'
非Maven项目
点击以下任一链接,下载hutool-all-X.X.X.jar即可:
- Maven中央库1
- Maven中央库2
注意 Hutool支持JDK7+,对Android平台没有测试,不能保证所有工具类获工具方法可用。
编译安装
访问Hutool的码云主页:https://gitee.com/loolly/hutool 下载整个项目源码(v4-master或v4-dev分支都可)然后进入Hutool项目目录执行:
./hutool.sh install
然后就可以使用Maven引入了。
项目地址
https://github.com/looly/hutool
程序员新视界:分享有趣、有料的程序员话题,每天进步一点点。
GitHub Java项目推荐|功能丰富的 Java 工具包|提高开发效率的更多相关文章
- 收下这款 Vue 项目模版,它将让你的开发效率在 2021 年提高 50%
这是什么 vue-automation 是一款开箱即用的 Vue 项目模版,它基于 Vue CLI 4 众所周知,虽然 Vue CLI 提供了脚手架的功能,但由于官方的脚手架过于简单,运用在实际项目开 ...
- 【Github开源项目体验】- ZFile 基于 Java 的在线网盘
[Github开源项目体验]- ZFile 基于 Java 的在线网盘 在线云盘.网盘.OneDrive.云存储.私有云.对象存储.h5ai.上传.下载 date: 2022-08-02 addres ...
- GitHub Python项目推荐|瓦力Devops开源项目代码部署平台持续部署
GitHub Python项目推荐|walle - 瓦力 Devops开源项目代码部署平台 项目热度 标星(star):8418 (很不错的实用项目,大神作品,建议关注) 标星趋势 关注(watch) ...
- GitHub Vue项目推荐|Vue+Element实现的电商后台管理系统功能丰富
GitHub Vue项目推荐|mall-admin-web是一个电商后台管理系统的前端项目基于Vue+Element实现 主要包括商品管理.订单管理.会员管理.促销管理.运营管理.内容管理.统计报表. ...
- tomcat免重启随意更改java代码 提高开发效率
转载:http://developer.51cto.com/art/201012/241243.htm 做为了一个java开发人员,总是为因为要增加一个类,或是增加删除一个方法,甚至修改一个小处代码而 ...
- Java项目框架搭建系列(Java学习路线)
前言: 已经工作4年,真是时间飞逝. 其实当你在一间公司工作一两年之后,公司用到的开发框架的基本使用你应该都会了. 你会根据一个现有项目A复制一下搭建出另外一个类似框架的项目B,然后在项目B上进行业务 ...
- WinScp几个极大提高开发效率的小功能
WinSCP 是一个 Windows 环境下使用 SSH 的开源图形化 SFTP 客户端.同时支持 SCP 协议.它的主要功能就是在本地与远程计算机间安全的复制文件. 最近研究了一下winscp的一些 ...
- GitHub Java项目推荐|不需要 ROOT权限的类似按键精灵的自动操作
不需要 ROOT 权限的类似按键精灵的自动操作软件,可以实现自动点击.滑动.输入文字.打开应用等.Auto.js 的大部分用户用它来点赞.签到.刷游戏 项目分析 仓库名称:Auto.js 标星(sta ...
- Github 上优秀的 Java 项目推荐
1.JavaGuide 地址:Snailclimb/JavaGuide [Java学习+面试指南] 一份涵盖大部分Java程序员所需要掌握的核心知识. 2.DoraemonKit 地址:didi/Do ...
随机推荐
- SNF快速开发平台2019-用户安全控制-权限管理模型实践-权限都在这里
1.1 是否保存密码 勾选记住密码后,再次开启程序用户密码不需要再次输入,直接显示在密码输入框内,方便快捷. 图 4.1‑1 记住密码的登录页面框 1.2 是否自动登录 勾选自动登录后,再 ...
- LeetCode 104. Maximum Depth of Binary Tree(二叉树深度)
Given a binary tree, find its maximum depth. The maximum depth is the number of nodes along the long ...
- IDEA快捷键无法使用
IDEA快捷键无法使用 觉得有用的话,欢迎一起讨论相互学习~Follow Me 今天新换了一台主机,但是很奇怪的是自己的IDEA快捷键使用不了了,以为是主机还是硬件的问题,最终解决后,发现是软件之间的 ...
- [转]Oringin 2016 安装教程
觉得有用的话,欢迎一起讨论相互学习~Follow Me 原文ll链接 http://www.downza.cn/soft/282296.html 打开setup.exe 一路Next和Yes,任意输入 ...
- SpringCloud基础
SpringCloud极大的简化了分布式系统的开发,实现了微服务的快速部署和灵活应用 SpringCloud主要框架 * 服务发现--Netfix Eureka * 服务调用--Netfix Feig ...
- .NET 小程序微信用户支付
微信支付有两种模式:微信用户主动发起的支付.签约委托支付协议后自动支付. 自动支付又分为两种:首次支付时签约.纯签约. 首次支付时签约和纯签约在后续周期若需要发起自动扣款时,需要在应用服务中发起申请扣 ...
- kubernetes之kube-proxy运行机制分析
在kubernetes集群的每个node都会运行一个kube-proxy服务进程,这个进程可用看作Service的透明代理兼负载均衡器.其核心功能是将到某个Service的访问请求转发到后端的多个po ...
- 【python基础】setproctitle的安装与使用
前言 setproctitle模块允许设置进程名称. 安装 pip install setproctitle 使用 参考 1. setproctitle: 完
- go中值传递、引用传递、指针传递的区别
go语言中的值类型: int.float.bool.array.sturct等 值传递是指在调用函数时将实际参数复制一份传递到函数中,这样在函数中如果对参数进行修改,将不会影响到实际参数 声明一个值类 ...
- Windows 10 多用户同时远程登录
win服务器版默认是支持多用户登陆的,甚至可以在主机上用不同用户自己远程登陆自己,如window server 2016. Win10 正常情况下是不允许用户同时远程的,即一个用户远程进来会把另一个用 ...