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

在線演示

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

用戶名:admin 密碼:adminjava

 

舒適提示: 有在演示環境刪除數據的童鞋們,若是能夠的話,麻煩動動小指,右鍵頭像菜單, 選擇 -> 備份還原 幫忙恢復到系統默認備份數據,方便後來的童鞋查看,謝謝啦。ios

 

技術交流

 

爲了方便你們提問和技術交流,整了個QQ羣,歡迎童鞋們加入。git

 

QQ技術交流羣: 528818161sql

 

項目介紹

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

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

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

 

分支說明

 

 

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/ 版權全部,歡迎轉載,轉載請註明原文做者及出處。

相關文章
相關標籤/搜索