简介

近来楼主抽时间整理了一个基于 Spring Boot 前后端分离的 web 框架,该框架基于 RBAC 思想,即 Role-Based Access Control。在该思想中,

用户直接和角色关联,一个用户至少可以有一个角色;角色与权限(菜单)关联,一个角色至少可以有一个权限。

该框架同时还实现了动态路由,所有路由信息全部存储于数据库中,可灵活配置。

该 web 框架的后端以 Spring-Boot 为基础,整合了 Spring Security、Spring Actuator、Spring AOP、Spring Quartz、MyBatis、Druid、PageHelper、Swagger 2.0、Knife4j、POI、FastJson等框架,而前端则以 Vue.js 为基础,同时整合了 Element UI、Axios、Vuex、Vue Router、Moment等框架。


系统功能
  • 用户管理:对系统用户的基本信息实现管理,例如新增用户、修改用户、配置用户角色、删除用户等。
  • 部门管理:对系统使用者所属部门的基本信息进行管理。
  • 权限管理:即菜单/按钮管理,实现了动态路由、按钮权限等。
  • 角色管理:对系统用户所属的角色信息进行基本管理。
  • MySQL监控:引入了 Druid Monitor 实现对 MySQL 的良好监控功能。
  • Redis监控:Redis 监控主要是监控系统所使用的缓存,包括一些基本信息等等。
  • Swagger文档:Swagger 文档以可视化的方式将后端的URL暴露出来,便于前端开发工作。
  • Knife4j文档:Swagger 文档的升级版,适当的美化了 Swagger 的界面。
  • Actuator监控:引入了 Spring-boot-admin-starter-server,以可视化的方式对系统的健康状态进行监控。
  • 系统备份:手动备份数据库表,亦可下载备份文件或者手动还原。
  • 操作日志:记录系统中对数据修改敏感的操作基本信息。
  • 附件管理:管理系统附件文件夹下的所有附件。
  • 定时任务:可以让预先定义的任务以一定的周期执行。
  • 邮件管理:暂未实现,待更新。
  • Echarts图表库:Echarts 图表库的示例。
  • Element图标库:展示 Element 的所有图标样式,并且点击图标即可复制图标对应的icon名。

使用说明
  • 克隆或者下载 iboot、iboot-web、iboot-admin 和 iboot-attachment 这四个项目。
  • 将 iboot-attachment/BackUp 目录下的SQL文件导入数据库中。
  • 将 iboot-web 导入IDE中,并依次执行 npm install、npm run serve 来运行前端项目。
  • 将 iboot-admin 导入IDE中并运行。(非必须,这个是Actuator监控的服务器,提供了可视化的方式对注册到服务器的应用进行监控)
  • 将 iboot 导入IDE中并运行 BackApplication.java。

系统界面

前后端系统架构 前后端框架有哪些_前后端系统架构

前后端系统架构 前后端框架有哪些_java_02

前后端系统架构 前后端框架有哪些_spring boot_03

前后端系统架构 前后端框架有哪些_前后端系统架构_04

前后端系统架构 前后端框架有哪些_java_05

前后端系统架构 前后端框架有哪些_github_06

前后端系统架构 前后端框架有哪些_java_07

前后端系统架构 前后端框架有哪些_github_08

前后端系统架构 前后端框架有哪些_spring boot_09

前后端系统架构 前后端框架有哪些_spring boot_10

前后端系统架构 前后端框架有哪些_vue.js_11

前后端系统架构 前后端框架有哪些_vue.js_12

前后端系统架构 前后端框架有哪些_vue.js_13

前后端系统架构 前后端框架有哪些_前后端系统架构_14

前后端系统架构 前后端框架有哪些_vue.js_15

前后端系统架构 前后端框架有哪些_spring boot_16


项目组成

Gitee

Github

后端(back end)

gitee/iboot

github/iboot

前端(front end)

gitee/iboot-web

github/iboot-web

附件(attachment)

gitee/iboot-attachment

github/iboot-attachment

admin-UI(admin-UI)

gitee/iboot-admin

github/iboot-admin


运行环境

环境(Environment)

版本(version)

Java

1.8.0

MySQL

8.0.21

Redis

3.2

@vue/cli

4.5.6


写在后面的话

该框架是笔者整理的前后端分离的 web 框架,仅仅实现了基本的权限控制功能。如有其他功能尚未实现的,还请读者理解或者建议。笔者后续也会慢慢更新一些新的功能。
最后,大家如果觉得可以的话,欢迎大家 fork and star