springcloud集成seata1.4.0,nacos1.4.0,sharding-jdbc,mybatis-plus实践
spring cloud + seata1.4.0 + nacos1.4.0 + sharding jdbc4.1.1 + spring boot2.3.x + mybatis + mybatis plus + sentinel + gateway + actuator + prometheus + grafana实践
版权说明: 本文由博主keep丶原创,转载请注明出处。
原文地址: https://blog.csdn.net/qq_38688267/article/details/111592643
文章目录
项目地址
https://gitee.com/zengzefeng/easy_frame
seata、nacos等服务端下载
- docker安装
https://blog.csdn.net/qq_38688267/article/details/111590569 - widnows版下载
链接:https://pan.baidu.com/s/1S6wa06MfYKDp1yxFT-jwOQ
提取码:1234
复制这段内容后打开百度网盘手机App,操作更方便哦
架构说明
- 框架:spring-cloud2.2.5.RELEASE, spring-boot2.3.5.RELEASE, mybatis3.5.6
- 数据库: mysql8.0.24, redis, mongodb …(后续可能会用到hBase,TiDB等)
- 架构组件:gateway, open-feign, sentinel, nacos1.4.0
- 功能组件: sharding-jdbc4.1.1, rabbit-mq, seata1.4.0, actuator, xxl-job, prometheus, grafana等
主要功能介绍
- 基于sharding-jdbc的读写分离
- 基于seata的分布式事务
- 基于nacos和gateway的动态路由和黑白名单
- 集成mybatis-plus简化开发、自动填充、代码生成
- 基于actuator+prometheus+grafana的服务状态监控
- 自定义授权逻辑
- 自定义分页
- 各种封装好的工具类
模块介绍
-
easy-frame-common
工具父模块
-
easy-frame-common-redis
redis模块,提供redis工具类和redis分布式锁
-
easy-frame-common-msg
消息工具模块
-
easy-frame-common-gateway
网关模块,实现动态路由和登录态检测
-
…
-
-
easy-frame-base
工具父模块
-
easy-frame-base-service
service父模块,用于统一管理依赖和公共类
-
easy-frame-base-api
api父模块,用于统一管理依赖和公共类
-
easy-frame-base-auth
权限模块,提供权限相关功能
-
…
-
-
easy-frame-servers
功能服务父模块
-
easy-frame-servers-sys
系统平台
- easy-frame-servers-sys-service
业务逻辑
- easy-frame-servers-sys-api
开放接口
- easy-frame-servers-sys-service
-
…
-
-
easy-frame-tools
其他提供单独服务
-
easy-frame-tools-job
定时任务模块
-
easy-frame-tools-generate
代码生成模块
-
…
-
全局处理
全局字典ID转Name功能
全局异常捕捉
全局鉴权拦截
- 授权(包括黑白名单):AuthenticationFilter
- 鉴权:AuthenticationInterceptor
第三方工具介绍
JWT
- 用于生成有加密信息的token
- 官网:https://jwt.io/
Mybatis Plus
- mybatis增强,提供灵活的基础CRUD方法、代码生成等功能
- 官网:https://mp.baomidou.com/
MapStruct
- 基于注解生成对象转换的工具,简化了Java bean类型之间映射的实现
- 官网:https://mapstruct.org/
Hutool
- 一个小而全的Java工具类库,通过静态方法封装。
- 官网:https://www.hutool.cn/docs/#/
- 系统中用该工具类替代自定义工具类,根据需要引入对应依赖:
模块 | 介绍 |
---|---|
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和Word的封装 |
hutool-socket | 基于Java的NIO和AIO的Socket封装 |
hutool-all | 包含以上所有模块,一般情况下不要直接依赖这个 |
mapstruct
- 是一个代码生成器,它基于约定优于配置的方法大大简化了Java bean类型之间映射的实现。
- 官网:https://mapstruct.org/
项目相关博客
更多内容请到gitee项目中查看
更多推荐
所有评论(0)