### 一、项目简介
- 项目名称
- 中文: 图尔斯
- 简写: TOOLS
- 项目背景
> 图尔斯历经多家上市公司和大厂的验证, 工具和方案逐步完善但仍属于闭门造车。
> 为了图尔斯的未来, 决定永久性开源, 希望携手广大Java同行共创TOOLS未来。
> 图尔斯的工具定位: 绝对优雅、绝对完整、相对全面。
### 二、版本纪要
#### 2.1 最新版本
##### 2.1.1 版本简介
- 继承示例
> 统一版本控制、引用依赖以及常规配置
```xml
<parent>
<groupId>${project.groupId}</groupId>
<artifactId>tools-parent</artifactId>
<version>${latest.version}</version>
</parent>
```
- 引用示例
> 复杂的旧系统可以直接加版本号引用工具包, 否则请选用继承, 新系统建议系统继承
```xml
<dependency>
<groupId>${project.groupId}</groupId>
<artifactId>tools-{module}</artifactId>
<!-- 未继承请添加以下版本号 -->
<!-- <version>${latest.version}</version> -->
</dependency>
```
##### 2.1.2 功能说明
- 模块总览
![TOOLS模块分布图](http://assets.processon.com/chart_image/5f83d799e401fd06fd82d8c4.png)
- 模块简介
###### tools-parent
> 航母包: 用于版本控制
- 解决方案版本管理
- 统一依赖的版本号
- 统一编译插件配置
- 统一文档插件配置
###### tools-base
> 基础包: 用于纯工具类的封装
- **异常类**
- SkillException: 技术异常
- 特点是: 包含异常码便于排查问题
- AgreedException: 约定异常
- 异常码: 开发者自定义
- 特点是: 该类异常的信息将在前端直接提示给用户
- UserExperienceException: 用户体验
- 特点是: 继承了AgreedException其异常信息用于展示给用户
- AssertException: 断言失败
- 特点是: 代码简化
- 使用前: 集成全局异常处理
- DataException: 数据异常
- 特点是: 数据库的数据效验类的异常 (如: 数据不存在, 数据已存在, 数据缺失, 数据不合法)
- RemoteInvokeException: 远程调用异常
- 异常码: 被调用方异常码 或 开发者自定义异常码
- 特点是: 继承远程被调用方的响应码和提示信息
- **实体类**
- HttpResult: 响应对象
- 用于封装Http调用后的响应结果
- JsonLog: 日志对象
- 用于封装日志包输出结果
- JsonResult: 响应对象
- 用于统一前后端分离场景的响应数据格式
- PageRequest: 分页请求对象
- PageResponse: 分页响应对象
- Login: 登陆用户信息对象
- 用于统一前后端分离场景存储的用户信息
- ~~Xcode~~: 异常码枚举类(未来将采用XCode但现在使用Xcode)
- XCode: 响应码枚举类
- XState: 状态码枚举类
- **工具类**
- BoolUtil: 布尔工具, 任何需要判断的逻辑均须用到
- 远程调用OK判断
- 全部是真是假判断
- 是否全部空字符判断
- 全部非空是空判断
- 大于等于小于判断
- MathUtil: 数学公式工具, 简单的数学公式运算
- 支持 `+` `-` `*` `÷`
- 支持 `(` `)`
- 支持 `>` `>=` `==` `<` `<=` `!=`
- 支持 `?` `:`
- MailUtils: 邮件工具, 发送各种类型的邮件
- 支持文本、多图片、多附件
- 支持多回执、多接收、多抄送、多密送
> 图文混合方式时, 文本内容需要使用HTML配合, 在image标签src属性中使用 `c i d` `: ` `index` 代替图片, 其中index是图片文件数组的下标值
```java
String[] images = {"c:\表情.png", "c:\头像.jpg", "d:\全身照.jpeg"};
String content = "这是个表情: <image src='cid:0'/>, 再来个头像: <image src='cid:1'/><br/>这是全身照: <image src='cid:2'/>";
```
```java
// 默认163服务器, 有其他服务器重载函数
MailUtils.Mail mail = MailUtils.build(username, password);
// mial.send(...);
```
- AesUtil: AES对称算法加密解密工具
- 支持生成密钥和还原密钥
- 默认采用ECB分组加/解密方式
- DesUtil: DES对称算法加密解密工具
- RsaUtil: Rsa非对称算法加密解密工具
- AssertUtil: 断言工具, 必须符合要求的业务逻辑需要用到
- 布尔工具类有的, 这里都有
- BeanUtil: 对象工具类
- 对象的参数值复制
- 对象的类型转换
- ClassUtil: 字节码工具
- 获取对象中包含的泛型类型
- CollectionUtil: 集合工具
- 将Map根据key排序
- CoordsUtil: 坐标工具
- 根据坐标获取指定举例的坐标范围
- 根据两个坐标计算其直径距离
- ExceptionUtil: 异常工具
- 优雅抛出异常 (比如: return 一个异常有没有见过呢?嘿嘿..)
- 压制代码异常 (明确知道代码有可能异常,但不希望它抛出来)
- FileUtil: 文件工具
- 文件上传工具集
- HttpUtil: Http协议工具
- 发起各种请求
- 解析各种响应
- IdUtil: 主键生成工具, 单机理论唯一
- ImgUtil: 图片工具
- File与Base64互转
- DesensitizationUtil: 脱敏工具
- 身份证号码脱敏
- 银行卡号码脱敏
- 手机号码脱敏
- 真实姓名脱敏
- 邮件地址脱敏
- JsonUtil: 格式转换工具, 注意Long类型会转换成String类型
- json转对象/Map/List
- 对象转json
- 对象转其他类型对象
- json格式化
- LocalDateTimeUtil: 新时间转换工具
- Date与LocalDateTimeUtil互转
- Md5Util: 不可逆加密算法
- Sha256Util: 不可逆加密算法
- NullUtil: 空异常规避工具
- 空字符串转换为 ""
- 空对象使用默认值
- 空对象使用反射新对象
- 空对象抛出提示性异常
- SignUtil: 接口鉴权工具, 前后端接口调用安全需要用到
- StreamUtil: 流工具
- 输入输出流互转
- 复用不可复用流
- TimeUtil: 时间格式化工具, 只有你想不到, 没有它做不到
- BeanUtil: 对象处理工具
- 对象互换
- 对象克隆/复制
- UrlUtil: URL地址工具
- url编码、解码
- WebUtil: 请求工具
- 字符集处理
- 请求头工具集
- ip, port, url, cookie工具集
- 参数处理工具
- JdbcUtil: 数据库操作工具
- 使用用户密码直接操作数据库
- 使用数据源获取连接方式直接操作数据库
- 使用自定义获取连接方式直接操作数据库
###### tools-logback
> 日志包: 用于日志输出的统一配置
- 日志输出配置: logback-dev.xml
```xml
<?xml version="1.0" encoding="UTF-8"?>
<included>
<!-- 以下字段支持自定义 -->
<!-- <property name="CUSTOM_LOG_LEVEL" value="DEBUG"/>-->
<!-- <property name="CUSTOM_SYS_PATH" value="/data/logs/"/>-->
<!-- <property name="CUSTOM_SYS_NAME" value="tools-logback"/>-->
<!-- <property name="CUSTOM_BUG_PACKAGE" value="cn.gmlee"/>-->
<!-- <property name="CUSTOM_SQL_PACKAGE" value="cn.gmlee"/>-->
</included>
```
- 日志持久化: **方式1**
- 用法: 使用tools日志工厂获取MysqlLogger实例
```java
// import cn.gmlee.tools.tools.logback.db.LoggerFactory;
private MysqlLogger logger = LoggerFactory.getLogger(AliPayServiceImpl.class, Log.class);
// ....
logger.print("支付宝H5请求: {}", JsonUtil.format(aliPayH5Request));
AlipayTradeWapPayResponse response = AliPayKit.execute(aliPayConfig, aliPayH5Request);
logger.print("支付宝H5响应: {}", JsonUtil.format(response));
```
- 效果: 打印Logback日志的同时还会将日志插入到数据库表: `tools_log`
```console
id msg throwable_msg create_at
6 ... xxx 2021-03-08 16:23:44
7 ... xxx 2021-03-08 16:23:44
8
没有合适的资源?快使用搜索试试~ 我知道了~
Java开发库, 包含但不限于: 基础工具包, 解决方案, 微架构
共678个文件
java:508个
xml:42个
md:27个
1.该资源内容由用户上传,如若侵权请联系客服进行举报
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
版权申诉
0 下载量 125 浏览量
2023-12-19
12:28:24
上传
评论
收藏 11.7MB ZIP 举报
温馨提示
tools-parent 航母包: 用于版本控制 解决方案版本管理 统一依赖的版本号 统一编译插件配置 统一文档插件配置 tools-base 基础包: 用于纯工具类的封装 异常类 SkillException: 技术异常 特点是: 包含异常码便于排查问题 AgreedException: 约定异常 异常码: 开发者自定义 特点是: 该类异常的信息将在前端直接提示给用户 UserExperienceException: 用户体验 特点是: 继承了AgreedException其异常信息用于展示给用户 AssertException: 断言失败 特点是: 代码简化 使用前: 集成全局异常处理 DataException: 数据异常 特点是: 数据库的数据效验类的异常 (如: 数据不存在, 数据已存在, 数据缺失, 数据不合法) RemoteInvokeException: 远程调用异常 异常码: 被调用方异常码 或 开发者自定义异常码 特点是: 继承远程被调用方的响应码和提示信息 实体类 HttpResult: 响应对象 用于封装Http调用后的响应结果 JsonLog: 日志对象
资源推荐
资源详情
资源评论
收起资源包目录
Java开发库, 包含但不限于: 基础工具包, 解决方案, 微架构 (678个子文件)
deploy.bat 11KB
install.bat 9KB
seata.conf 146B
spring.factories 312B
spring.factories 311B
spring.factories 290B
spring.factories 252B
spring.factories 249B
spring.factories 209B
spring.factories 200B
spring.factories 199B
spring.factories 190B
spring.factories 189B
spring.factories 185B
spring.factories 180B
spring.factories 134B
spring.factories 124B
spring.factories 123B
spring.factories 122B
spring.factories 121B
spring.factories 121B
spring.factories 120B
spring.factories 120B
spring.factories 120B
customController.java.ftl 6KB
entity.java.ftl 4KB
customVo.java.ftl 4KB
customServiceImpl.java.ftl 3KB
customService.java.ftl 2KB
BoolUtil.java 35KB
WebUtil.java 33KB
AssertUtil.java 27KB
ClassUtil.java 21KB
HttpUtil.java 21KB
JdbcUtil.java 19KB
MathUtil.java 18KB
DataAuthInterceptor.java 18KB
MailUtil.java 18KB
BigDecimalUtil.java 17KB
JsonUtil.java 14KB
QuickUtil.java 14KB
ResourceUtil.java 13KB
WxPayKit.java 13KB
AliPayKit.java 13KB
DesensitizationAspect.java 13KB
FileUtil.java 13KB
ExcelUtil.java 12KB
RsaUtil.java 11KB
RouteHttpUtil.java 11KB
RedisLock.java 11KB
DatalogAssist.java 10KB
SqlAssist.java 10KB
GrayReactorServiceInstanceLoadBalancer.java 10KB
DatalogInterceptor.java 10KB
ShardingConfigAssist.java 10KB
ExceptionUtil.java 9KB
MysqlShardingAssist.java 9KB
CodeGenerator.java 9KB
XmlUtil.java 9KB
HttpResult.java 8KB
CollectionUtil.java 8KB
ImgUtil.java 8KB
AesUtil.java 8KB
TxServer.java 8KB
AsyncHttpUtil.java 7KB
VariableLockAspect.java 7KB
IBatisDao.java 7KB
AbstractGrayFilter.java 7KB
CacheHandler.java 7KB
SignUtil.java 7KB
ProfileSelectFilterInterceptor.java 7KB
RedisClient.java 6KB
Snowflake.java 6KB
BytecodeBuilder.java 6KB
ThreadUtil.java 6KB
ShardingServer.java 6KB
LoginService.java 6KB
ZxingUtil.java 6KB
Function.java 6KB
TimeUtil.java 6KB
LoginUtil.java 6KB
TxRepository.java 6KB
BeanUtil.java 6KB
PageResponse.java 6KB
LocalDateTimeUtil.java 6KB
HttpTests.java 6KB
ExchangeAssist.java 6KB
MailTests.java 6KB
JwtUtil.java 6KB
ShardingTimingOverloadAutoConfiguration.java 5KB
ApiPrintAspect.java 5KB
SwaggerAutoConfiguration.java 5KB
RedisId.java 5KB
SqlKit.java 5KB
RedisAppender.java 5KB
SendMailAspect.java 5KB
GlobalExceptionHandlerAdvice.java 5KB
WxUtil.java 5KB
CoordsUtil.java 5KB
VcService.java 5KB
共 678 条
- 1
- 2
- 3
- 4
- 5
- 6
- 7
资源评论
十小大
- 粉丝: 9168
- 资源: 2553
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功