项目说明
- 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文件,更好的适配所有的数据库.
项目结构
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 日志配置文件
技术选型:
注意事项:
- idea 必须安装lombok插件使用
- 开发或者部署 需要在application.yml 设置相应的 yml
- idea 直接使用 dockerfile 打包上传到镜像 需要配置docker docker所在服务器也需要打开2375端口
- pom 里面docker-plugin 插件 用途在于 执行打包命令 会直接上传到docker 也需要打开2375端口
- 代码生成器 如果想要拥有审计字段(create_user_id 等字段)自动填充功能 表结构必须要符合框架的约定 比需要拥有这些字段(create_user_id | create_date | modyfy_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 需要把外链地址填写到组件地址栏
- 工作流模块中 审批人、传阅人 数量不能超过21人