# rain-tool **Repository Path**: windsound/rain ## Basic Information - **Project Name**: rain-tool - **Description**: 基于java的工具类库封装,让开发不在繁重,而是简单与优雅 - **Primary Language**: Java - **License**: Apache-2.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 30 - **Forks**: 13 - **Created**: 2019-11-05 - **Last Updated**: 2025-07-29 ## Categories & Tags **Categories**: utils **Tags**: None ## README # rain-tool #### 介绍 一直想优雅的去开发Java,但是Java的语法规范又多又繁琐,为了提高工作效率,通常要自己额外的封装工具以便复用,但是从头到尾的封装又比较繁琐, 于是,rain-tool工具诞生了,它的出现也是基于对平常工作功能实现的积累以及借鉴较好的开源库吸收其中优秀的功能实现,从而有了rain-tool, rain-tool的初心,就是用最简洁的代码来实现最复杂的功能,让Java开发也优雅甜甜的 #### rain名称的由来 spring是java中一套比较优秀的框架,有了它,可以很快速方便的构建各种不同的项目,在这点上,rain也向spring看齐,可以很快速方便的构建各种不同的项目, 当rain遇见了spring,就是spring rain了(寓意:随风潜入夜,润物细无声) #### 包含的组件 软件架构说明 | 模块 | 介绍 | | --------------------|---------------------------------------------------------------------------------------| | rain-core-tool | 核心模块,包括Bean操作、日期、文件、反射、json、线程、正则、字符处理以及各种Util等 | | rain-base-tool | 基础模块,实现了Debug调试控制台的功能,以及所有组件的注解引用支持 | | rain-crypto-tool | 加密解密模块,提供对称、非对称和摘要算法封装 | | rain-doc-tool | 文档模块,基于swagger实现了线上api文档,离线api文档,及数据库表设计文档的生成 | | rain-hibernate-tool | hibernate模块,封装了hibernate的引用,及通过JavaBean生成数据库表的实现 | | rain-http-tool | http模块,基于http,https协议的请求,下载,上传等的封装 | | rain-light-tool | light便捷模块,封装了(定时任务、邮箱、二维码、分布式锁、poi文档、Emoji等) | | rain-log-tool | 日志模块,实现了自动识别了日志实现的日志模块 | | rain-mq-tool | 消息模块,封装了基于amqp,mqtt协议的消息实现,如rabbitmq,kafka等客户端 | | rain-mybatis-tool | mybatis模块,封装了mybatis的引用,及通过数据表生成mapper代码的实现 | | rain-prop-tool | prop模块,配置文件及Properties的封装实现 | | rain-redis-tool | redis模块,基于spring-boot-starter-data-redis封装了类redis命令的工具类 | | rain-socket-tool | socket模块,封装socket基于bio,nio,aio的实现及websocket | | rain-word-tool | 文字模块,封装了基于dfa的多关键字查找,及分词实现 | #### 安装教程 1. 克隆 clone https://gitee.com/windsound/rain.git 2. 选择模块, cd 切换到要使用的模块 3. 编译安装, mvn clean install 4. maven引入 在项目的pom.xml的dependencies中加入以下内容,如: ```xml com.gitee.windsound rain-core-tool 1.0.0 ``` ## 添砖加瓦 ### 分支说明 rain的源码分为两个分支,功能如下: | 分支 | 作用 | |------------|--------------------------------------------------------------------------| | master | 主分支,release版本使用的分支,与中央库提交的jar一致,不接收任何pr或修改 | | dev | 开发分支,默认为下个版本的SNAPSHOT版本,接受修改或pr ### 提供bug反馈或建议 提交问题反馈请说明正在使用的JDK版本、Rain Tool版本和相关依赖库版本。 - [码云Gitee issue](https://gitee.com/windsound/rain/issues) ### PR遵照的原则 rain欢迎任何人为rain添砖加瓦,贡献代码,不过作者是一个强迫症患者,为了照顾病人,需要提交的pr(pull request)符合一些规范,规范如下: 1. 注释完备,尤其每个新增的方法应按照Java文档规范标明方法说明、参数说明、返回值说明等信息,必要时请添加单元测试,如果愿意,也可以加上你的大名。 2. 新加的方法不要使用第三方库的方法,Rain遵循无依赖原则 3. 请pull request到`dev`分支。`master`是主分支,表示已经发布中央库的版本,这个分支不允许pr,也不允许修改。