Spring Boot + Spring Cloud 實現權限管理系統 后端篇(一):Kitty 系統介紹


在線演示

演示地址:http://139.196.87.48:9002/kitty

用戶名:admin 密碼:admin

 

溫馨提示: 有在演示環境刪除數據的童鞋們,如果可以的話,麻煩動動小指,右鍵頭像菜單, 選擇 -> 備份還原 幫忙恢復到系統默認備份數據,方便后來的童鞋查看,謝謝啦。

 

技術交流

 

為了方便大家提問和技術交流,整了個QQ群,歡迎童鞋們加入。

 

QQ技術交流群: 528818161

 

項目介紹

Kitty是基於Spring Boot、Spring Cloud、Vue、Element實現的Java快速開發平台。

目標是搭建出一套簡潔易用的快速解決方案,可以幫助用戶有效降低項目開發難度和成本。

個人博客提供本項目開發過程同步系列教程文章,手把手的教你如何開發同類系統。

 

分支說明

 

 

master: 主推版本分支,支持分布式,服務治理(Spring Cloud)

 

 

dev: 開發分支,適時合並到master分支,支持分布式,服務治理(Spring Cloud)

 

 

shiro: 基於Spring Boot,不包含 Spring Cloud,部署環境稍微簡單一點

 

 

功能計划

- ✔ 系統登錄:系統用戶登錄,系統登錄認證(token方式)

- ✔ 用戶管理:新建用戶,修改用戶,刪除用戶,查詢用戶

- ✔ 機構管理:新建機構,修改機構,刪除機構,查詢機構

- ✔ 角色管理:新建角色,修改角色,刪除角色,查詢角色

- ✔ 菜單管理:新建菜單,修改菜單,刪除菜單,查詢菜單

- ✔ 字典管理:新建字典,修改字典,刪除字典,查詢字典

- ✔ 系統日志:記錄用戶操作日志,查看系統執行日志記錄

- ✔ 數據監控:定制Druid信息,提供簡潔有效的SQL監控

- ✔ 聚合文檔:定制在線文檔,提供簡潔美觀的API文檔

- ✔ 備份還原:系統備份還原,一鍵恢復系統初始化數據

- ✔ 主題切換:支持主題切換,自定主題顏色,一鍵換膚

- ✔ 服務治理:集成Consul注冊中心,實現服務注冊和發現

- ✔ 服務監控:集成Spring Boot Admin,實現服務監控

- ✔ 服務消費:集成Ribbon、Feign,服務調用和負載均衡

- ✔ 服務網關:集成Spring Cloud Zuul,實現API網關

- ✔ 服務熔斷:集成Hystrix、Turbine,實現熔斷和監控

- ✔ 鏈路追蹤:集成Sleuth、Zipkin,實現分布式鏈路追蹤

- ✔ 配置中心:集成Config、Bus,實現分布式配置中心

- ✘ 單點登錄:利用 OAuth2, 提供統一的單點登錄功能

- ✘ 系統登錄:集成第三方登錄功能(QQ、微信、微博)

- ✘ 代碼生成:提供代碼生成器,最大化的降低代碼開發量

- ...

軟件架構

后端架構

開發環境

  • IDE : eclipse 4.x
  • JDK : JDK1.8.x
  • Maven : Maven 3.5.x
  • MySQL: MySQL 5.7.x

技術選型

  • 核心框架:Spring Boot 2.x
  • 服務治理:Spring Cloud Finchley
  • 安全框架:Apache Shiro 1.4.x
  • 視圖框架:Spring MVC 5.x
  • 持久層框架:MyBatis 3.x
  • 數據庫連接池:Druid 1.x
  • 日志管理:SLF4J、Log4j

 

項目結構

  • kitty-common: 公共代碼模塊,主要放置一些工具類

  • kitty-core: 核心代碼模塊,主要封裝公共業務模塊

  • kitty-admin: 后台管理模塊,包含用戶、角色、菜單管理等

  • kitty-backup: 系統數據備份備份模塊,可選擇獨立部署

  • kitty-monitor: 系統監控服務端,監控Spring Boot服務模塊

  • kitty-producer: 服務提供者示例,方便在此基礎上搭建模塊

  • kitty-consumer: 服務消費者示例,方便在此基礎上搭建模塊

  • kitty-hystrix: 服務熔斷監控模塊,收集匯總熔斷統計信息

  • kitty-zuul: API服務網關模塊,統一管理和轉發外部調用請求

  • kitty-config: 配置中心服務端,生成GIT配置文件的訪問接口

  • kitty-consul: 注冊中心,安裝說明目錄,內附安裝引導說明

  • kitty-zipkin: 鏈路追蹤,安裝說明目錄,內附安裝引導說明

  • config-repo: 配置中心倉庫,在GIT上統一存儲系統配置文件

  • kitty-pom: 聚合模塊,僅為簡化打包,一鍵執行打包所有模塊

 

前端架構

開發環境

  • IDE : VS Code 1.27
  • NODE: Node 8.9.x
  • NPM : NPM 6.4.x

技術選型

  • 前端框架:Vue 2.x
  • 頁面組件:Element 2.x
  • 狀態管理:Vuex 2.x
  • 后台交互:axios 0.18.x
  • 圖標使用:Font Awesome 4.x

項目結構

kitty-ui

  • assets: 圖標、字體、國際化信息等靜態信息
  • components: 組件庫,對常用組件進行封裝
  • http: 后台交互模塊,統一后台接口請求API
  • i18n: 國際化模塊,使用Vue i18n進行國際化
  • mock: Mock模塊,模擬接口調用並返回定制數據
  • permission: 權限控制模塊,處理權限認證邏輯
  • router: 路由管理模塊,負責頁面各種路由配置
  • store: 狀態管理模塊,提供組件間狀態共享
  • utils: 工具模塊,提供一些通用的工具方法
  • views: 頁面模塊,主要放置各種頁面視圖組件

安裝教程

 

后端安裝

  1. 下載源碼

    git clone https://gitee.com/liuge1988/kitty.git

  2. 導入工程

    使用 Eclipse導入 Maven 項目,在此之前請確認已安裝 JDK 和 Maven 工具。

  3. 編譯代碼

    找到 kitty-pom 工程的 pom.xml,執行 maven clean install 命令編譯一鍵打包。

    一般來說不會有什么問題,如果還是編譯不成功,可以按照優先級逐個編譯試一試。

  4. 導入數據庫

    新建 kitty 數據庫,導入 kitty-admin 工程 doc/kitty.sql 腳本,導入初始化數據庫。

    修改 kitty-admin 下 application.yml 中的數據庫連接和賬號密碼為自己的數據庫配置。

    修改 kitty-backup 下 application.yml 中的數據庫連接和賬號密碼為自己的數據庫配置。

  5. 啟動系統

    基礎必需模塊(注冊中心:kitty-consul,服務監控:kitty-monitor)

    找到 kitty-consul 工程,根據安裝說明安裝注冊中心,完成后執行 consul agent -dev 啟動。

    找到 kitty-monitor 工程下的 KittyMonitorApplication, 啟動項目,開啟服務監控。

    權限管理模塊(權限管理:kitty-admin,備份還原:kitty-backup)

    找到 kitty-admin 工程下的 KittyAdminApplication, 啟動項目,開啟權限管理系統服務。

    找到 kitty-backup 工程下的 KittyBackupApplication.java,啟動項目,開啟備份還原服務。

    其他模塊根據各自需要選擇性啟動,模塊依賴可以參見我的博客同步教程...

    注意事項:

    如果需要鏈路追蹤服務,需要安裝zipkin,找到 kitty-zipkin 工程,根據安裝說明安裝zipkin。

    如果需要配置中心服務,需要安裝rabbitMQ,找到 kitty-config 工程,根據安裝說明安裝rabbitMQ。

前端安裝

  1. 下載源碼

    git clone https://gitee.com/liuge1988/kitty-ui.git

  2. 編譯代碼

    進入項目根目錄,執行 npm install, 下載和安裝項目相關依賴包。

  3. 啟動系統

    執行 npm run dev 命令,啟動項目,通過 http://localhost:8090 訪問。

  4. 項目打包

    執行 npm run build 命令,啟動打包,完成之后會生成 dist 目錄。

  5. Mock 開關

    通過修改src/mock/index.js中的openMock變量,可以一鍵開啟或關閉Mock功能。

  6. 修改配置

    如果想自定義端口(默認是8090),可以修改 config/index.js 下的 port 屬性。

    后台接口和備份服務器地址配置在 src/utils/global.js,如有修改請做相應變更。

 

源碼下載

后端:https://gitee.com/liuge1988/kitty

前端:https://gitee.com/liuge1988/kitty-ui.git


作者:朝雨憶輕塵
出處:https://www.cnblogs.com/xifengxiaoma/ 
版權所有,歡迎轉載,轉載請注明原文作者及出處。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM