简介
源码地址
https://gitee.com/zhanghongbin/zebra
环境说明
下方为本项目后端所需运行环境,请注意检查您的环境是否与本项目所需一致,以减少环境引起的问题。
| 运行环境 | 最低版本 |
|---|---|
| JDK(openjdk,LibericaJDK) | 11 |
| Maven | 3.9.4 |
最新稳定版
工程结构
zebra 工程为多级 module 组成:
. zebra-spring-boot
├──zebra-spring-boot-dependencies 所有库依赖配置-父模块
├──zebra-spring-boot-starter starter父模块
├──zebra-spring-boot-starter-web web核心增强模块提供全局异常处理及响应封装和多种类型注解等
├──zebra-spring-boot-starter-mybatis-plus mybatis plus 增强并整合了mybatis-plus-join和stream-query第三方框架
├──zebra-spring-boot-starter-logging 行为日志,系统日志规范化及sentry日志平台的整合
├──zebra-spring-boot-starter-monitoring 服务监控整合admin,koTime等
├──zebra-spring-boot-starter-cache 基于redis封装,并整合了jetcache
├──zebra-spring-boot-starter-redisson 基于redisson封装和扩展,简化其操作
├──zebra-spring-boot-starter-rabbitmq 基于rabbitmq封装和扩展,简化其操作
├──zebra-spring-boot-starter-satoken satoken中redis 采用msgpack序列化
├──zebra-spring-boot-starter-bean-searcher 简化复杂查询
├──zebra-spring-boot-starter-tenant 多租户
├──zebra-spring-boot-starter-captcha 验证码(包括图片,短信和邮件)
├──zebra-spring-boot-starter-file excel 导入导出,文件格式转换等
├──zebra-spring-boot-starter-message 基于sms4j进行封装,发送短信,邮件及钉钉等消息
├──zebra-spring-boot-starter-trans 字典翻译
├──zebra-spring-boot-starter-i18n 国际化
├──zebra-spring-boot-starter-cdc 数据同步
├──zebra-spring-boot-common 基础库公共模块第三方及依赖库
| 名称 | 版本 | 用途 | 描述 |
|---|---|---|---|
| springboot | 2.7.18 | 使用 | |
| mybatis-plus | 3.5.5 | 使用 | |
| knife4j-openapi2-spring-boot-starter | 4.5.0 | 使用 | 接口文档 |
| lombok | 1.18.30 | 使用 | |
| druid-spring-boot-starter | 1.2.22 | 使用 | |
| hutool | 5.8.24 | 使用 | |
| flyway | 8.5.13 | 声明 | 数据库版本控制->参见 Java开发须知规约手册中 13.数据库规约 |
| jetcache | 2.7.4 | 声明 | 文档参见 网址 |
| postgresql | 42.2.18 | 声明 | |
| mybatis-plus-join | 1.4.11 | 使用 | 文档参见 [网址](https://gitee.com/mhb0409/mybatis-plus-join |
| stream-plugin-mybatis-plus | 2.0.3 | 使用 | 文档参见 [网址](https://gitee.com/dromara/stream-query#https://gitee.com/link?target=http%3A%2F%2Fstream-query.dromara.org |
| freemarker | 2.3.32 | 使用 | 模板框架 |
| guava | 28.0-jre | 依赖 | |
| commons-pool2 | 2.12.0 | 声明 | |
| sentry | 7.3.0 | 使用 | |
| snakeyaml | 1.30 | 使用 | |
| velocity | 2.3 | 使用 | |
| mapstruct-plus | 1.3.6 | 使用 | Mapstruct Plus 是 Mapstruct 的增强工具,在 Mapstruct 的基础上,实现了自动生成 文档参见 [网址] https://www.mapstruct.plus/ |
| javers-core | 7.4.1 | 声明 | 比较两个对象之间差异 |
| tlog | 1.5.1 | 使用 | 日志跟踪框架 |
| fastjson | 2.0.46 | 依赖 | |
| caffeine | 3.1.8 | 依赖 | |
| commons-io | 2.15.0 | 声明 | |
| commons-lang3 | 3.12.0 | 依赖 | |
| commons-lang | 2.6 | 依赖 | |
| commons-beanutils | 1.9.4 | 依赖 | |
| lock4j | 2.2.7 | 声明 | 分布式锁 文档参见 [网址] https://gitee.com/baomidou/lock4j |
| transmittable-thread-local | 2.14.4 | 使用 | |
| bcprov-jdk15on | 1.70 | 使用 | |
| mysql | 8.0.33 | 声明 | |
| sa-token-spring-boot-starter | 1.38.0 | 使用 | |
| sa-token-jwt | 1.38.0 | 使用 | |
| x-file-storage-spring | 2.1.0 | 使用 | |
| sms4j-spring-boot-starter | 3.2.1 | 使用 | 短信,邮件等 |
| easyexcel | 4.0.1 | 使用 | excel库 |
| deepoove | 1.12.2 | 使用 | word模版库 |
| thumbnailator | 0.4.20 | 声明 | 图片库 |
快速开始
采用代码生成工具建立项目脚手架,以便快速启动项目。
代码生成工具 ( 版本<=1.2.1 )
通过arthetype生成项目脚手架,有以下两种方式生成:
1. cmd命令方式,打开shell输入以下命令 把 -DgroupId , -DartifactId 和 -Dversion 换成自己需要的。(注:maven settings.xml 最好配置好阿里云镜像加快下载速度)
shell
mvn archetype:generate -DgroupId=xxx.xx.x -DartifactId=x-x-x -Dversion=1.0.0-SNAPSHOT -DarchetypeGroupId=io.github.zhanghongbin -DarchetypeArtifactId=zebra-archetype-service-single -DarchetypeVersion=1.0.42. 通过开发工具idea方式
idea默认使用的是用户目录下.m2里的settings.xml文件,最好把自己的配置好的 settings.xml 进行覆盖加快下载速度
如图按步骤进行填写


最后生成项目模板如下: 
代码生成工具 ( 版本>1.2.1 )
1. 访问在线代码生成器 -> http://codegen.zhanghongbin.xyz
2. 独立部署代码生成器参见网址 -> https://docs.ballcat.org/codegen/
第一步:选择单模块或多模块脚手架

第二步:填写右侧信息

第三步:点击打包下载

