README.md
java110-utils 模块技术文档
模块概述
java110-utils 是 MicroCommunity 微服务社区平台的核心工具模块,为整个系统提供统一的工具类支持。该模块封装了系统开发中常用的工具方法、缓存管理、消息队列、异常处理等基础功能,是平台架构的技术支撑层。
技术架构
架构设计理念
- 统一工具层:提供标准化的工具方法,避免代码重复
- 功能模块化:按功能领域划分工具包,职责清晰
- 依赖解耦:通过工具类封装第三方依赖,降低业务代码耦合度
- 异常统一:提供完整的异常处理体系,规范错误处理
核心功能模块
- 基础工具类 (util包):字符串处理、日期转换、数据验证等
- 缓存管理 (cache包):多级缓存支持,包括Redis、Ehcache等
- 消息队列 (kafka包):异步消息处理支持
- 异常处理 (exception包):统一的异常分类和处理机制
- 工厂模式 (factory包):对象创建和管理
- 并发控制 (lock包):分布式锁支持
- 日志管理 (log包):统一的日志处理
- 命名空间 (namespace包):资源命名管理
- 常量定义 (constant包):系统常量统一管理
依赖说明
核心依赖
- java110-bean:实体对象支持
- java110-interface:接口定义支持
第三方工具依赖
- 文件存储:
aliyun-sdk-oss:阿里云对象存储cos_api:腾讯云对象存储
- 数据处理:
commons-codec:编码解码工具commons-lang3:Apache通用工具库commons-validator:数据验证工具commons-beanutils:Bean操作工具
- 缓存支持:
jedis:Redis客户端ehcache:本地缓存
- 消息队列:
spring-kafka:Kafka消息队列
- 安全认证:
java-jwt:JWT令牌处理
- 文档处理:
poi,poi-ooxml:Excel文件处理
- 工具扩展:
pinyin4j:拼音转换dom4j:XML处理commons-net:网络工具
日志框架
slf4j-api:日志门面logback-core,logback-classic:日志实现
包结构说明
1. util包 (39个工具类)
核心工具类集合,涵盖系统开发各个方面的工具方法:
- 数据转换:
BeanConvertUtil,ApacheBeanConvertUtil,Java110Converter - 字符串处理:
StringUtil,Java110StringConvert,PinYinUtil - 加密解密:
Base64Convert,TokenUtil - 文件处理:
OSSUtil,COSUtil,ImportExcelUtils - 日期处理:
DateUtil - 数值处理:
MoneyUtil,NumberUtil,Money2ChineseUtil - 验证工具:
Assert,ValidatorUtil - 缓存工具:
CacheUtil - 支付工具:
PayUtil - 协议处理:
ProtocolUtil,WebServiceAxisClient
2. cache包 (12个缓存类)
多级缓存管理,支持本地缓存和分布式缓存:
BaseCache:缓存基类Jedis:Redis缓存操作CommonCache:通用缓存JWTCache:JWT令牌缓存MappingCache:映射关系缓存PrivilegeCache:权限缓存ServiceBusinessCache:服务业务缓存UrlCache:URL路径缓存
3. exception包 (23个异常类)
完整的异常处理体系:
BusinessException:业务异常DAOException:数据访问异常RuleException:规则异常SMOException:服务管理异常NoAuthorityException:无权限异常Result:统一返回结果封装
4. 其他功能包
- kafka包:
KafkaFactory- 消息队列工厂 - factory包:对象工厂模式实现
- lock包:分布式锁支持
- log包:日志处理工具
- namespace包:命名空间管理
- constant包:系统常量定义
功能分类
1. 数据处理工具
- 对象转换:Bean转换、JSON序列化
- 字符串处理:校验、加密、拼音转换
- 数值计算:金额处理、数字转换
2. 文件存储工具
- 云存储:阿里云OSS、腾讯云COS
- 文档处理:Excel导入导出
- 图片处理:图片工具类
3. 缓存管理工具
- 本地缓存:Ehcache集成
- 分布式缓存:Redis客户端
- 缓存策略:多级缓存支持
4. 消息队列工具
- Kafka集成:消息生产消费
- 异步处理:事件驱动支持
5. 安全认证工具
- JWT令牌:生成验证
- 权限控制:访问权限管理
- 数据加密:Base64编码解码
6. 系统工具
- 日期时间:日期格式化
- 网络通信:HTTP客户端、WebService
- 配置管理:系统配置工具
使用指南
1. 基础工具使用
// 字符串处理
StringUtil.isEmpty(str);
StringUtil.isNotEmpty(str);
// 对象转换
BeanConvertUtil.covertBean(source, targetClass);
// 日期处理
DateUtil.getCurrentDate();
DateUtil.formatDate(date, pattern);
2. 缓存使用
// 获取缓存值
CommonCache.getValue(cacheKey);
// 设置缓存
CommonCache.setValue(cacheKey, value, expireTime);
3. 异常处理
try {
// 业务逻辑
} catch (BusinessException e) {
// 业务异常处理
} catch (DAOException e) {
// 数据访问异常处理
}
4. 消息队列
// 发送消息
KafkaFactory.sendKafkaMessage(topic, message);
最佳实践
- 工具类选择:根据具体场景选择合适的工具类
- 异常处理:使用统一的异常处理机制
- 缓存策略:合理设置缓存过期时间
- 资源释放:及时释放文件、网络等资源
- 线程安全:注意工具类的线程安全性
版本信息
- 当前版本:1.0-SNAPSHOT
- 依赖版本:与父项目 MicroCommunity 保持一致
- 更新日期:文档生成日期