一款小清新的 SpringBoot+ Mybatis 前後端分離後臺管理系統項目

2022-01-09 Coding這件小事

今日推薦

推薦3個快速開發平臺 前後端都有 項目經驗又有著落了

推薦一個高仿微信的項目 有點屌!!

一二線城市知名 IT 網際網路公司名單(新版)

項目介紹

前後端分離架構,分離開發,分離部署,前後端互不影響。

前端技術採用vue + antdvPro + axios。

後端採用spring boot + mybatis-plus + hutool等,開源可靠。

基於spring security(jwt) + 用戶UUID雙重認證。

基於AOP實現的接口粒度的鑑權,最細粒度過濾權限資源。

基於hibernate validator實現的校驗框架,支持自定義校驗註解。

提供Request-No的響應header快速定位線上異常問題。

在線用戶可查,可在線踢人,同帳號登錄可同時在線,可單獨在線(通過系統參數配置)。

支持前端 + 後端在線代碼生成。

文件,簡訊,緩存,郵件等,利用接口封裝,方便拓展。

簡訊默認使用阿里雲sms,緩存默認使用內存緩存。

框架亮點及優勢

模塊化架構設計,層次清晰,業務層推薦寫到單獨模塊,框架升級不影響業務。

模塊樹
├─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 開發,是一款不可多得的前後端分離入門學習項目。獲取方式

相關焦點

  • guns-lite 發布了姊妹項目 web-flash,前後端分離的後臺管理系統
    了解guns-lite的同學都知道這是個完善的後臺管理系統,包含了後臺管理的基礎功能。該框架包含兩套系統,一套前後端分離,一套不分離(單體)應用。隨著功能的完善和擴展,不同應用的差別逐漸增大,為了更方便的維護兩個版本,現將兩個版本拆成兩個不同的項目:guns-lite:致力於基於SpringBoot2和Bootstrap/Beetl的非前後端分離的後臺管理系統的維護。
  • SpringBoot+Mybatis動態切換數據源
    ,架構是SSM,用到了讀寫分離,學弟改成把項目改成了SpringBoot,因為流量不大,所以取消了讀寫分離,為了確保項目的沒問題,同時多學點知識,決定先復盤一下之前SSM項目的讀寫分離,然後學習一下在SpringBoot中如何實現讀寫分離,這裡出於循序漸進的考慮,在這篇文章中我們先實現在SpringBoot+Mybatis架構下動態的切換數據源,後面的文章再實現讀寫分離。
  • 不迷失admin-manage:基於springboot的通用後臺管理系統
    項目背景任何一個應用都需要後臺管理系統。最終決定從頭開始,重新做一個自己認為能夠真正解決大部分人需求的最小通用後臺管理系統,這便是admin-manage產生的初衷。主要特點1.全現代化web應用基於adminlte的頁面模板,響應式布局,不低俗的ui,內嵌伺服器,打成jar包即可運行。2.基於最主流最新的技術框架,滿足絕大多數人的技術選型需求。首選spring 技術棧。
  • 一款基於SpringBoot+MyBatis+Shiro+Thymeleaf功能強大的管理系統
    這個就是今天鵬哥要推薦的項目,叫若依。推薦若依是因為前幾天有人留言說若依是一個不錯的開源項目,鵬哥這幾天就去了解了一下,發現若依確實是一個非常出色的前後端分離的管理系統。作者和鵬哥一樣一直想做一個後臺管理系統,看了很多優秀的開源項目但是發現沒有合適的。
  • 記mybatis應用在springboot中的一次踩坑記錄
    開頭先描述小這個坑具體是什麼樣的坑。處理日常的項目開發外,筆者偶爾還會從網上找些開源的項目看看。有次從網上找了個springboot+mybatis+redis的web應用框架。簡單了解了下項目架構,就匆匆上手,照葫蘆畫瓢的做了個簡單的CRUD。
  • 新鮮出爐的一款SpringBoot +Vue的考試系統
    一、考試系統簡介新鮮出爐的一款SpringBoot +Vue的考試系統,支持多種題型:選擇題、多選題、判斷題、填空題、綜合題以及數學公式。支持在線考試,教師在線批改試卷。項目說明考試系統整體為前後端分離項目,作者又在這基礎上,將後端拆分成兩個管理員後端和學生考試後端,後端的代碼是在一起。前端也做了類似的拆分,所以其實是兩個後端項目,兩個前端項目。本篇先講一下學生考試部分的前後端環境搭建。功能包括:學員在線做課程試題、在線考試、錯題本功能記錄、考試記錄、個人中心。
  • SpringBoot+Vue完整的外賣系統,手機端和後臺管理,可以玩一下!
    一個完整的外賣系統,包括手機端,後臺管理,api基於spring boot和vue的前後端分離的外賣系統包含完整的手機端,後臺管理功能本項目主要供交流學習,不建議商用。技術選型核心框架:Spring Boot資料庫層:Spring data jpa/Spring data mongodb資料庫連接池:Druid緩存:Ehcache前端:Vue.js資料庫:mysql5.5以上,Mongodb4.0(不要使用最新版4.2)模塊flash-waimai-mobile 手機端站點flash-waimai-manage後臺管理系統flash-waimai-api
  • 推薦兩個項目!
    從後端來看,用到的也是目前主流的技術spring、springboot、mybatis、redis、Elasticsearch等,所以,從後端來說,還是很值得學習的,特別是沒有項目經驗,這個項目可以作為一個不錯的入手的項目,學習其中的技術跟技術在項目中如何運用。
  • 基於的ASP.NET Core+Vue.js開源的前後端分離內容管理系統CMS
    今天我將給大家介紹另外一個基於.NET Core + Vue.js開源的前後端分離的CMS框架LinCms,之所以要介紹這款CMS,主要是因為它的界面做工精美,並且使用了很多良好的設計理念,項目還集成了Swagger的增強版Knife4jUI,非常值得學習研究。什麼是 Lincms?
  • Dcat Admin v1.0.0 發布 - 對後端開發友好的高顏值後臺系統構建...
    Dcat AdminDcat Admin是一個基於laravel-admin二次開發而成的後臺系統構建工具,只需很少的代碼即可快速構建出一個功能完善且顏值極高的後臺系統
  • BootDo 發布 2.0.0 版本,全面升級到 SpringBoot 2.x
    升級說明:眾多小夥伴希望本碼把bootdo使用的springboot升級到2.x版本,經過幾天的升級和測試可以發布新版本了。
  • SpringBoot+Vue前後分離實現郵件發送功能
    前端:vue後端:springboot前端源碼名字:email-demo後端源碼名字:loginRegist掃碼關注回復【郵件代碼】獲取源碼如果你在運行這個代碼的過程中有遇到問題,請加小編微信xxf960513,我拉你進對應微信學習群!!幫助你快速掌握這個功能代碼!
  • 「精品源碼分享」springboot開發的學校教務管理系統
    使用技術該系統使用了springboot+mybatis+layui+shiro+jquery等技術開發而成有3個基本角色,為管理員,老師和學生!管理員具有這些模塊的所有功能!老師具有課程管理,成績管理,學生管理等功能!學生有選課管理等功能!基本實現了學校學生選課的一個後臺管理系統!
  • 前後端分離架構如何做安全測試?
    前後端不分離的架構,通常是前端向後端發送請求,後端處理數據、渲染或者重定向後發送給前端,通常返回一個HTML頁面,然後由前端負責展示。比較適用於純網頁應用。一個產品可能有多個端,如果是以前傳統架構,需要開發web和app兩套服務端,而前後端分離的架構可以解決這個問題,後端只需要開發一套接口,前端通過接口對數據進行查詢和刪改,拿到的數據交由web或者app進行渲染處理,最後展示給用戶。前端與後端各司其職。相比於傳統架構,前後端分離的優勢有:前端不再需要向後臺提供模板或是後臺在前端html中嵌入後臺代碼。
  • 推薦:一款Java開源的Springboot 即時通訊 IM 聊天系統
    # 項目簡介該項目是一套基於mina或netty框架下的推送系統,或許有一些企業有著自己一套即時通訊系統的需求,那麼CIM為您提供了一個解決方案,目前CIM支持websocket,android,ios,桌面應用,系統應用等多端接入支持,可應用於移動應用,物聯網,智能家居,嵌入式開發,桌面應用,WEB
  • SpringBoot + MyBatis + MySQL讀寫分離實踐!
    引言讀寫分離要做的事情就是對於一條SQL該選擇哪個資料庫去執行,至於誰來做選擇資料庫這件事兒,無非兩個,要麼中間件幫我們做,要麼程序自己做。因此,一般來講,讀寫分離有兩種實現方式。第一種是依靠中間件(比如:MyCat),也就是說應用程式連接到中間件,中間件幫我們做SQL分離;第二種是應用程式自己去做分離。
  • springboot+springsecurity實現前後端分離簡單實現!
    通過各種方式學習springsecurity,在B站、騰訊課堂、網易課堂、慕課網沒有springsecurity的前後端分離的教學視頻,那我就去csdn去尋找springsecurity博客,發現幾個問題:要麼就是前後端不分離,要麼就是通過內存方式讀取數據,而不是通過資料庫的方式讀取數據,要麼就是大佬們給的代碼不全、把代碼講的太繞,關鍵部分沒有注釋
  • springboot+jpa+thymeleaf實現信息增刪改查功能
    前端:thymeleaf後端:springboot+jpa資料庫:mysql5.6jdk:1.8及以上; $.fn.datepicker.dates['cn'] = { days : [ "星期日", "星期一", "星期二", "星期三", "星期四", "星期五", "星期六" ], daysShort : [ "周日", "周一", "周二", "周三", "周四", "周五", "周六" ], daysMin : [ "日", "
  • JeecgBoot 2.4 微服務正式版發布,基於 SpringBoot 的低代碼平臺
    項目介紹JeecgBoot 是一款基於代碼生成器的低代碼平臺!
  • SpringBoot+MyBatis+MySQL讀寫分離(實例)
    引言讀寫分離要做的事情就是對於一條SQL該選擇哪個資料庫去執行,至於誰來做選擇資料庫這件事兒,無非兩個,要麼中間件幫我們做,要麼程序自己做。因此,一般來講,讀寫分離有兩種實現方式。第一種是依靠中間件(比如:MyCat),也就是說應用程式連接到中間件,中間件幫我們做SQL分離;第二種是應用程式自己去做分離。