项目地址:https://gitee.com/bootx/bootx-platform
基于 Spring Boot 框架打造,针对单体式应用进行专门设计,提供整套服务模块,努力为打造全方位企业级开发解决方案, 致力将开源版打造成超越商业版后台管理框架的项目。
特色功能
针对敏感信息,可以通过注解配置实现返回时自动脱敏
针对重要信息,可以通过添加注解,实现在数据库中保密存储,配合数据脱敏使用可以更好的保护系统数据的安全
支持多种范围的数据权限控制,如只能查看自己、只能查询指定部门、用户、可以查询全部的数据等等
支持嵌套查询的超级查询构造器,自动生成对应条件 SQL 语句
异常时返回链路追踪 id,方便错误日志追踪
提供项目对应的代码生成器,方便开发
定制 Mybatis Plus 组件,更方便开发
支持多种消息中间件
支持全局级 Websocket 集成,通过事件机制可以分发到指定页面
项目选用组件说明
组件 | 默认启用 | 是否必须 | 备注 |
MySQL | 是 | 否,理论上可以替换为其他关系型数据库 | 默认使用的数据库,部分 SQL 语句使用了 MySQL 专属语法 |
Redis | 是 | 是 | session 存储,缓存等等都用到了 Redis |
RabbitMQ | 是 | 否 | 不使用时需要删除对应的代码即可 |
MongoDB | 是 | 否 | 日志存储默认使用的 Mongo,去掉 mongo 时需要切换存储类型; 文件管理默认使用的是 Mongo,去掉 Mongo 时,需要切换文件类型 |
MQTT | 是 | 否 | 不使用时需要删除对应的代码即可 |
Quartz | 是 | 否 | 定时任务默认使用的是 Quartz ,可以切换为 XXL-JOB |
XXL-JOB | 否 | 否 | 可以用来替代 Quartz |
本次功能更新
增加用户全局消息 Websocket 推送,通过前端消息总线可以方便把消息推送到各个页面
增加 flyway 来对数据库进行管理
增加 plumelog (lite 方式收集日志,方便对日志进行简单的管理
增加 ELK 相关配置,优化日志输出格式
增加不同的终端可以有不同的菜单权限列表
增加 RabbitMQ 消息队列模块
增加 Redis 简单消息队列方式,实现简单消息队列功能
增加 Redis 过期事件封装,实现定时消息通知功能
增加 Redis 简单消息队列和过期事件封装演示
增加 Websocket 模块及演示 DEMO
增加分布式锁组件
增加分布式锁演示模块
网上商城配套开发
类目管理及相关规格、品牌、参数管理
升级 Spring Boot 为 2.7.x 版本
优化 Redis 支持集群配置
优化 logback 相关 xml,拆分更细粒度
优化定时任务增加状态同步按钮,处理定时任务 job 运行状态不一致情况
优化数据权限异常类型
优化一些抛出异常的处理
优化项目 pom 结构
优化前端路由跳过登录鉴权配置
优化请求权限校验流程
优化 MQTT .lock 文件夹问题
优化前端支持内部打开外部页面
fix: 权限不拦截问题
fix: 开启验证码后,在登录页面提示请求报错
fix: 在 MacOS 环境下运行日志存储报错问题
fix: mqtt ClientId 配置问题导致启动时连接失败的问题
fix: RestExceptionHandler 处理 Throwable 异常