暫無描述

fanxp fad25c5e39 init 5 月之前
generator fad25c5e39 init 5 月之前
logs fad25c5e39 init 5 月之前
src fad25c5e39 init 5 月之前
target fad25c5e39 init 5 月之前
Dockerfile fad25c5e39 init 5 月之前
Makefile fad25c5e39 init 5 月之前
README.md fad25c5e39 init 5 月之前
docker-compose-dev.yml fad25c5e39 init 5 月之前
docker-compose-pre.yml fad25c5e39 init 5 月之前
oauth2.md fad25c5e39 init 5 月之前
pom.xml fad25c5e39 init 5 月之前
pom.xml.back.xml fad25c5e39 init 5 月之前

README.md

项目说明

  • 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人