一款小清新的 SpringBoot+ Mybatis 前后端分离后台管理系统项目

Posted androidstarjack

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了一款小清新的 SpringBoot+ Mybatis 前后端分离后台管理系统项目相关的知识,希望对你有一定的参考价值。


 

点击上方关注 “终端研发部

设为“星标”,和你一起掌握更多数据库知识

项目介绍

  • 前后端分离架构,分离开发,分离部署,前后端互不影响。

  • 前端技术采用vue + antdvPro + axios

  • 后端采用spring boot + mybatis-plus + hutool等,开源可靠。

  • 基于spring security(jwt) + 用户UUID双重认证。

  • 基于AOP实现的接口粒度的鉴权,最细粒度过滤权限资源。

  • 基于hibernate validator实现的校验框架,支持自定义校验注解。

  • 提供Request-No的响应header快速定位线上异常问题。

  • 在线用户可查,可在线踢人,同账号登录可同时在线,可单独在线(通过系统参数配置)。

  • 支持前端 + 后端在线代码生成。

  • 文件,短信,缓存,邮件等,利用接口封装,方便拓展。

  • 短信默认使用阿里云sms,缓存默认使用内存缓存。

框架亮点及优势

  1. 模块化架构设计,层次清晰,业务层推荐写到单独模块,框架升级不影响业务。

模块树
├─xiaonuo                    ->项目工程
│  ├─xiaonuo-base            ->框架基础模块
│       ├─xiaonuo-core       ->核心模块
│       ├─xiaonuo-gen        ->代码生成
│       ├─xiaonuo-system     ->基础业务
│  ├─xiaonuo-main            ->业务开始模块
│       ├─业务               ->您的业务

2、独创前端字典翻译

全部字典数据储存前端store,后端接口数据统一过滤器翻译

下拉框,多选框等取值只需1行代码:('dictData'为过滤器名称,'sex'为字典类型code)返回数组字典

this.$options.filters['dictData']('sex')
或直接给值
{{ code | dictData }}

列表数据中字典翻译:('code'为字典类型唯一code,'value'为待翻译的值)返回name

{{ code | dictType(value) }}

3、独创的数据权限范围机制

数据范围的分配也来自于给用户单独分配的数据范围,最终决定用户有几个公司的数据范围的是,用户拥有的角色的数据范围 + 用户直接分配的数据范围

若一个用户有多个角色,系统最终判定用户有哪些数据范围是以多个角色和用户数据范围的 并集 为准。点击更多Java项目

仅通过注解就可以获取当前用户的数据范围,不强制联查sql可根据业务需求极其灵活的使用

@DataScope

param类继承baseparam,使用param.getDadaScope即可获取到数据权限列表

@EqualsAndHashCode(callSuper = true)
@Data
public class SysUserParam extends BaseParam {

4、独创的文件预览系统

支持txt.doc.docx.ppt.pptx.xls.xlsx.pdf.png.jpg.jpeg.bmp.gif等

预览速度快,兼容性好,支持常见文本格式.只需在运行环境一键安装libreoffice即可,运行简单,操作方便。

#libreoffice文档在线预览配置
# CentOS 下安装 libreoffice:
# 安装:yum -y install libreoffice
# Linux 中文字体乱码解决:
# 1、上传 C:\\Windows\\Fonts 下的字体到 /usr/share/fonts/windows 目录
# 2、执行命令:chmod 644 /usr/share/fonts/windows/* && fc-cache -fv
jodconverter:
  local:
    #暂时关闭预览,启动时会有点慢
    enabled: false
    #设置libreoffice主目录 linux地址如:/usr/lib64/libreoffice
    office-home: C:\\Program Files\\LibreOffice
    #开启多个libreoffice进程,每个端口对应一个进程
    port-numbers: 8100
    #libreoffice进程重启前的最大进程数
    max-tasks-per-process: 100

5、其他优势

前后端分离架构,分离开发,分离部署,前后端互不影响。

前端技术采用vue + antdvPro + axios。

后端采用spring boot + mybatis-plus + hutool等,开源可靠。

基于spring security(jwt) + 用户UUID双重认证。

基于AOP实现的接口粒度的鉴权,最细粒度过滤权限资源。

基于hibernate validator实现的校验框架,支持自定义校验注解。

提供Request-No的响应header快速定位线上异常问题。

在线用户可查,可在线踢人,同账号登录可同时在线,可单独在线(通过系统参数配置)。

支持前端 + 后端在线代码生成。

文件,短信,缓存,邮件等,利用接口封装,方便拓展。

短信默认使用阿里云sms,缓存默认使用内存缓存。

效果图


详细功能

  • 主控面板、控制台页面,可进行工作台,分析页,统计等功能的展示。

  • 用户管理、对企业用户和系统管理员用户的维护,可绑定用户职务,机构,角色,数据权限等。

  • 应用管理、通过应用来控制不同维度的菜单展示。

  • 机构管理、公司组织架构维护,支持多层级结构的树形结构。

  • 职位管理、用户职务管理,职务可作为用户的一个标签,职务目前没有和权限等其他功能挂钩。

  • 菜单管理、菜单目录,菜单,和按钮的维护是权限控制的基本单位。

  • 角色管理、角色绑定菜单后,可限制相关角色的人员登录系统的功能范围。角色也可以绑定数据授权范围。

  • 字典管理、系统内各种枚举类型的维护。

  • 访问日志、用户的登录和退出日志的查看和管理。

  • 操作日志、用户的操作业务的日志的查看和管理。

  • 服务监控、服务器的运行状态,Java虚拟机信息,jvm等数据的查看。

  • 在线用户、当前系统在线用户的查看。

  • 数据监控、druid控制台功能,可查看sql的运行信息。

  • 公告管理、系统的公告的管理。

  • 文件管理、文件的上传下载查看等操作,文件可使用本地存储,阿里云oss,腾讯cos接入,支持拓展。

  • 定时任务、定时任务的维护,通过cron表达式控制任务的执行频率。

  • 系统配置、系统运行的参数的维护,参数的配置与系统运行机制息息相关。

  • 邮件发送、发送邮件功能。

  • 短信发送、短信发送功能,可使用阿里云sms,腾讯云sms,支持拓展。

小结

项目整体还是不错的,前后端分离,后端使用 SpringBoot + MybatisPlus,前端使用 AntDesign-Vue-Pro + Vue2.0 开发,是一款不可多得的前后端分离入门学习项目。

 


 

 

BAT等大厂Java面试经验总结

想获取 Java大厂面试题学习资料

扫下方二维码回复「BAT」就好了

回复 【加群】获取github掘金交流群
回复 【电子书】获取2020电子书教程
回复 【C】获取全套C语言学习知识手册
回复 【Java】获取java相关的视频教程和资料
回复 【爬虫】获取SpringCloud相关多的学习资料
回复 【Python】即可获得Python基础到进阶的学习教程
回复 【idea破解】即可获得intellij idea相关的破解教程
关注我gitHub掘金,每天发掘一篇好项目,学习技术不迷路!


回复 【idea激活】即可获得idea的激活方式

回复 【Java】获取java相关的视频教程和资料

回复 【SpringCloud】获取SpringCloud相关多的学习资料

回复 【python】获取全套0基础Python知识手册

回复 【2020】获取2020java相关面试题教程

回复 【加群】即可加入终端研发部相关的技术交流群

如果喜欢就给个“在看”

以上是关于一款小清新的 SpringBoot+ Mybatis 前后端分离后台管理系统项目的主要内容,如果未能解决你的问题,请参考以下文章

利用Git Diff比较Excel-推荐一款小工具

利用Git Diff比较Excel-推荐一款小工具

利用Git Diff比较Excel-推荐一款小工具

利用Git Diff比较Excel-推荐一款小工具

如何用一款小工具大大加速MySQL SQL语句优化

我想开发一款小程序,怎样才能快速上手并上线?