2025-02-08 17:51:37 +08:00
|
|
|
|
**项目说明**
|
2025-08-20 10:43:34 +08:00
|
|
|
|
|
2025-02-08 17:51:37 +08:00
|
|
|
|
- xjrsoft-boot是一个轻量级的,前后端分离的Java快速开发平台,能快速开发项目并交付
|
|
|
|
|
|
- 支持MySQL、Oracle、SQL Server、PostgreSQL等主流数据库
|
|
|
|
|
|
|
|
|
|
|
|
**具有如下特点**
|
|
|
|
|
|
|
|
|
|
|
|
- 友好的代码结构及注释,便于阅读及二次开发
|
|
|
|
|
|
- 实现前后端分离,通过token进行数据交互,前端再也不用关注后端技术
|
|
|
|
|
|
- 灵活的权限控制,可控制到菜单、列表、按钮、表单,满足绝大部分的权限需求
|
|
|
|
|
|
- 配套前端框架使用Vue3.x,最新的技术,最好的性能、极大的提高了开发效率
|
|
|
|
|
|
- 引入power-job定时任务,可动态完成任务的添加、修改、删除、暂停、恢复及日志查看等功能
|
|
|
|
|
|
- 引入Hibernate Validator校验框架,轻松实现后端校验
|
|
|
|
|
|
- 引入云存储服务,已支持:七牛云、阿里云、腾讯云、华为云、minio等
|
|
|
|
|
|
- 引入knife4J文档支持,方便编写API接口文档
|
|
|
|
|
|
- 引入sms4j支持,支持多种短信平台
|
|
|
|
|
|
- 引入ureport报表支持
|
|
|
|
|
|
- 引入liteflow框架 开发规则引擎功能
|
|
|
|
|
|
- 引入magic-api 封装 实现在线开发接口
|
|
|
|
|
|
- 引入hutool包 作为工具类
|
|
|
|
|
|
- 接入chatgpt,只需要配置中填写相应key 即可使用chatgpt赋能
|
|
|
|
|
|
- 使用mybatisplusjoin 增强mybatisplus 实现多表联查功能
|
|
|
|
|
|
- 使用satoken 作为权限框架 功能强大 好用
|
|
|
|
|
|
- 完善的代码生成器,可以自动生成各种各样的代码,包括:DTO、VO、Service、Controller、Mapper、JavaBean、Swagger等
|
|
|
|
|
|
- 支持一键发布docker镜像,方便快速部署
|
|
|
|
|
|
- 完善的xss防御 sql注入防御 黑白名单 接口限流。
|
|
|
|
|
|
- 使用camunda工作流引擎 为基础 实现符合中国的流程使用功能。
|
|
|
|
|
|
- 项目中除了个别业务逻辑需要,使用ORM完全实现零SQL编程。可以无需再编写XML文件,更好的适配所有的数据库.
|
|
|
|
|
|
|
|
|
|
|
|
**项目结构**
|
2025-02-08 09:47:36 +00:00
|
|
|
|
|
|
|
|
|
|
```
|
2025-02-08 17:51:37 +08:00
|
|
|
|
xjrsoft-boot
|
|
|
|
|
|
├─common 公共模块
|
|
|
|
|
|
│ ├─annotation 常用注解
|
|
|
|
|
|
│ ├─aspect 系统日志
|
|
|
|
|
|
│ ├─exception 异常处理
|
|
|
|
|
|
│ ├─enums 后台枚举
|
|
|
|
|
|
│ ├─constant 后台常量
|
|
|
|
|
|
│ ├─handler 处理器
|
|
|
|
|
|
│ ├─model 常用数据模型
|
|
|
|
|
|
│ │ ├─base 实体类父类
|
|
|
|
|
|
│ │ ├─datasrouce 数据源有关模型封装
|
|
|
|
|
|
│ │ ├─generator 代码生成器有关模型封装
|
|
|
|
|
|
│ │ ├─result 返回值封装
|
|
|
|
|
|
│ │ └─tree 树结构模型封装
|
|
|
|
|
|
│ ├─page 分页工具类
|
|
|
|
|
|
│ ├─satoken 权限框架注解鉴权实现类
|
|
|
|
|
|
│ ├─tree 树结构接口 --用于限定数据结构
|
|
|
|
|
|
│ ├─utils 各种工具类
|
|
|
|
|
|
│ └─xss XSS过滤
|
|
|
|
|
|
│
|
|
|
|
|
|
├─config 配置信息
|
|
|
|
|
|
│
|
|
|
|
|
|
├─modules 功能模块
|
|
|
|
|
|
│ ├─bi 数据大屏模块
|
|
|
|
|
|
│ ├─generator 代码生成器模块
|
|
|
|
|
|
│ ├─oss 文件服务模块
|
|
|
|
|
|
│ ├─organization 组织架构模块
|
|
|
|
|
|
│ ├─form 自定义表单模块
|
|
|
|
|
|
│ ├─report 报表模块
|
|
|
|
|
|
│ └─system 系统管理模块
|
|
|
|
|
|
│
|
|
|
|
|
|
├─XjrsoftApplication 项目启动类
|
|
|
|
|
|
│
|
|
|
|
|
|
├──resources
|
|
|
|
|
|
│ ├─mapper SQL对应的XML文件
|
|
|
|
|
|
│ │─template freemark模板文件
|
|
|
|
|
|
│ │─banner 启动banner图
|
|
|
|
|
|
│ └─logback 日志配置文件
|
2025-02-08 09:47:36 +00:00
|
|
|
|
|
2025-02-08 17:51:37 +08:00
|
|
|
|
```
|
2025-02-08 09:47:36 +00:00
|
|
|
|
|
2025-02-08 17:51:37 +08:00
|
|
|
|
<br/>
|
|
|
|
|
|
|
|
|
|
|
|
**技术选型:**
|
|
|
|
|
|
|
|
|
|
|
|
- 项目 [jdk](https://www.oracle.com/java/technologies/downloads/) 采用 11 版本
|
|
|
|
|
|
- 开发框架 采用 [springboot ](https://spring.io/projects/spring-boot)版本 2.7.5 +
|
|
|
|
|
|
- ORM框架 采用 [mybatis-plus](https://baomidou.com/) 版本 3.5.2+
|
|
|
|
|
|
- ORM动态数据源 采用 [dynamic-datasource](https://www.kancloud.cn/tracy5546/dynamic-datasource/2264611) 版本 3.5.1
|
|
|
|
|
|
- ORM多表联查工具类 采用 [mybatis-plus-join](https://https://gitee.com/best_handsome/mybatis-plus-join/wikis/%E5%AE%89%E8%A3%85) 版本 1.2.2+
|
|
|
|
|
|
- ORM动态数据源 采用 [mybatis-plus-dynamic-datasource](https://gitee.com/baomidou/dynamic-datasource-spring-boot-starter) 版本 3.5.1
|
|
|
|
|
|
- 数据库连接池框架采用 [druid](https://github.com/alibaba/druid) 版本 1.1.22+
|
|
|
|
|
|
- 接口文档框架采用 [knife4j](https://doc.xiaominfo.com/) 版本 2.0.7+
|
|
|
|
|
|
- json格式化工具 采用 [fastjson](https://github.com/alibaba/fastjson/wiki/Quick-Start-CN)等 版本 1.2.72+
|
|
|
|
|
|
- 代码模板框架 采用 [Freemark](http://freemarker.foofun.cn/) 版本 2.3.30+
|
|
|
|
|
|
- 权限框架采用 [sa-token](https://sa-token.dev33.cn/) 版本 1.29.0+
|
|
|
|
|
|
- 常用工具类库 采用 [hutool](https://www.hutool.cn/) 版本5.7.20+
|
|
|
|
|
|
- 注解验证 [hibernate-validator](https://hibernate.org/validator/) 版本 6.0.13.Final
|
|
|
|
|
|
- 分布式定时任务框架 采用 [power-job](http://www.powerjob.tech/) 版本 4.3.2
|
|
|
|
|
|
- 工作流引擎 采用 [camunda](https://camunda.com/) 版本 7.18.0
|
|
|
|
|
|
- 在线接口 采用 [magic-api](https://www.ssssssss.org/magic-api/) 版本 2.1.1
|
|
|
|
|
|
- 短信工具类库 采用 [sms4j](https://wind.kim/) 版本 2.1.0
|
|
|
|
|
|
- java动态类库 采用 [javassist](http://www.javassist.org/) 版本 3.29.2-GA
|
|
|
|
|
|
- 规则引擎 采用 [liteflow](https://liteflow.yomahub.com/) 版本 2.10.1
|
|
|
|
|
|
- excel工具类库 采用 [easyexcel](https://github.com/alibaba/easyexcel) 版本 3.1.4
|
|
|
|
|
|
- 云存储 适配 平台([minio](http://www.minio.org.cn/),阿里云,腾讯云,华为云,七牛云)
|
|
|
|
|
|
|
|
|
|
|
|
**注意事项:**
|
|
|
|
|
|
- idea 必须安装lombok插件使用
|
|
|
|
|
|
- 开发或者部署 需要在application.yml 设置相应的 yml
|
|
|
|
|
|
- idea 直接使用 dockerfile 打包上传到镜像 需要配置docker docker所在服务器也需要打开2375端口
|
|
|
|
|
|
- pom 里面docker-plugin 插件 用途在于 执行打包命令 会直接上传到docker 也需要打开2375端口
|
|
|
|
|
|
- 代码生成器 如果想要拥有审计字段(create_user_id 等字段)自动填充功能 表结构必须要符合框架的约定 比需要拥有这些字段(create_user_id | create_date | modify_user_id | modify_date | delete_mark | enabled_mark)
|
|
|
|
|
|
- 框架默认使用jdk11 您也可以自己修改为jdk8 原则上jdk版本 最低jdk8 上不封顶 。
|
|
|
|
|
|
- 如果哪些接口您需要记录日志,请自行在控制器 controller 的方法上 添加 XjrLog注解 参数填写接口描述即可
|
|
|
|
|
|
- 如果您需要放行某些接口 /src/main/java/com/xjrsoft/config/SaTokenConfig.java 文件 对应新增
|
|
|
|
|
|
- 非数据优先的代码生成器功能 用户所配置的表结构 表名 字段名 如果配置的为大小写混用 默认会改为 蛇形命名法 而且默认全小写 (oracle dm 等数据库默认全大写的除外)
|
|
|
|
|
|
- 代码生成器-数据优先 模板 如果 子表的外键 关联 父表的非主键字段 级联删除会失效。 如果需要级联删除 请默认子表外键 关联 父表的主键
|
|
|
|
|
|
- 如果需要使用定时任务 请根据 power-job 官网文档部署服务端 再来使用。 定时任务新增或者修改数据 将不会自动填充 审计字段
|
|
|
|
|
|
- 前端想要内嵌其他url 需要把外链地址填写到组件地址栏
|
2025-10-13 16:30:39 +08:00
|
|
|
|
- 工作流模块中 审批人、传阅人 数量不能超过21人
|