yutool简介
简介
yutool是一款组件式集成开发框架,提供了许多为了解决实际后端web服务问题的一些通用设计及其实现,开箱即用,按需整合。
模块划分
yutool的模块主要分为两大部分:组件和插件。以下是其主要特点和当前已整合的组件和插件清单。部分组件和插件的设计思路可参考博客《基础组件设计》。
- 组件:将业务系统中比较复杂的公共逻辑抽象成可扩展的公共组件,方便应用程序快速接入,约定大于配置,使用时需要遵循组件的设计规范。
- 插件:轻量级,非必需,按需引入,灵活可扩展。
组件
组件 | 名称 | 主要特性 | 完成度 |
---|---|---|---|
yutool-cache | 缓存组件 | 支持二级缓存(本地缓存和分布式缓存),通过缓存注解控制缓存的刷新和过期 | √ |
yutool-file-server | 文件服务 | 文件的上传下载,支持租户隔离、防盗链 | √ |
yutool-ldap | LDAP组件 | 主流的LDAP服务接入 | |
yutool-mq | 消息组件 | 消息队列,支持延迟队列、重试队列(目前仅支持RabbitMQ) | √ |
yutool-orm | ORM组件 | 整合了Spirng生态主流的Mybatis Plus和JPA框架,并加入了实际场景中DO、DTO和VO等POJO对象的转换及处理逻辑 | √ |
yutool-push | 推送组件 | 支持5种类型消息的推送: ● 移动APP通知 ● Web网页消息 ● sms短信 ● Email电子邮件 ● IM消息 通过同一的消息发送入口,按需路由到指定的消息渠道进行消息推送 |
|
yutool-social | 第三方登录组件 | 社交账号登录(第三方登录)组件,整合各大主流社交平台第三方登录功能并统一入口 | |
yutool-state | 状态机引擎 | 抽象主要的状态机应用场景,将状态机状态迁移的整个过程的处理接口标准化 | |
yutool-search | 搜索引擎组件 | 基于redisearch开发的轻量级搜索引擎组件,支持中文分词 |
插件
插件 | 名称 | 主要特性 | 完成度 |
---|---|---|---|
api-idempotent | 接口幂等插件 | 接口幂等检查,基于MySQL数据库主键的幂等性校验 | √ |
api-logger | 接口访问日志插件 | 接口请求日志,记录接口请求的各项信息 | √ |
audit-logger | 审计日志插件 | 审计日志,字段维度的审计处理记录 | √ |
auth-filter | 权限过滤插件 | 权限过滤,用户、角色、部门多维度权限过滤,扩展的自定义权限过滤接口 | √ |
distributed-lock | 分布式锁插件 | 分布式锁(基于Redis和Zookeeper实现) | √ |
history-data | 历史数据处理插件 | 历史数据清理,通过配置项实现历史数据的清除或转移 | √ |
jwt-helper | JWT工具插件 | JWT工具 | √ |
native-mobile | 本机号码登录插件 | 实现本机号码登录 | |
sms-reply-storage | 短信回复内容存储插件 | 短信回复存储,用于向用户推送服务短信之后,接收并存储用户回复的短信内容 | |
sms-verify | 短信验证码插件 | 短信验证码的发送及验证,不限制验证码的长度 | |
swagger-support | Swagger接口文档插件 | swagger接口文档支持,使用配置代替硬编码实现swagger文档的接入和分组功能 | √ |
import-export | 数据导入导出插件 | 数据导入导出插件,基于EasyExcel实现 | √ |
multi-ds-tx | 多数据源事务插件 | 多数据源事务控制插件,抽取dynamic-datasource本地事务控制核心代码二次封装进行实现 | |
dynamic-thread-pool | 动态线程池管理插件 | 动态线程池参数调优,监控线程池运行状态 |
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 yupaits的博客!
评论