Activiti+Shiro實戰


  有人曾說:人的差距都在業余時間拉開的……嗯,我現在深刻理解着這句話,作為一個程序員,技術男,就得不斷學習新的技術,跟上時代步伐,才會讓自己更有價值~~~~以下這個項目是個人利用業余時間學習並實踐的~如有不正確的地方,歡迎大家指正。今天總算把這些功能都搞得差不多了,做一下記錄,結一下尾。

一、概述

  本系統主要是一個后台管理系統,Shiro實現用戶的角色、權限分配;layui+thymeleaf實現頁面的渲染;在線設計流程圖(非插件);通過請假模擬工作流;layui實現頁面菜單樹等等,一一道來。

1、技術點

  SpringBoot(2.1.8.RELEASE)-官網地址:https://spring.io/projects/spring-boot/

  Mabtis-Plus(3.2.0):國人開發的增強版mybatis,極好用(不僅可以生成mapper,連controller、service都可以逆向生成……等等)--官網地址:https://mp.baomidou.com/

  Activiti(5.22.0):實現工作流(類比日常OA系統):https://www.activiti.org/get-started

  Shiro(1.4.1):實現權限管理:http://shiro.apache.org/

  layui(2.5.5):前端框架(極容易上手):https://www.layui.com/

  Thymeleaf:模板引擎:https://www.thymeleaf.org/

2、實現功能

  權限分配:基於“RBAC”實現的“用戶”、“角色”、“權限”對應;根據不同用戶分配不同的角色、根據不同的角色分配不同的權限

  bpmn(流程圖):本系統集成Activiti在線設計器,即通過本系統可以實現在線畫流程圖(避免給eclipse及idea裝插件)

  菜單樹:layui組件生成

  thymeleaf+layui:渲染前端頁面、查詢條件等

二、系統演示

1、layui加載菜單樹、Shiro實現授權

 

2、Activiti在線設計請假單的流程圖

這里唯一需要注意的就是任務監聽器的配置:(需要配置該類的全路徑名,上述gif動圖中有該配置,並實現TaskListener、不要配置成執行監聽器-------鄙人走過的坑!!! )

 4、請假整體流程業務測試

  根據上一步在線設計好的流程圖,啟動該流程(注:領導關系:孫七-->趙六-->王五)

 5、首頁模塊

  我的申請任務、待辦任務、經辦任務(拿出了我吃奶的勁去修飾頁面:div+css--------真讓人頭疼--------------自學vue中……)

三、分析

1、菜單樹的加載(layui組件實現)

  根據官網案例,菜單樹的數據就是json串,所以我們后台構造出對應的json即可---即TreeNodeBuilder構造出有層次的json串  

2、Mabits-plus逆向生成代碼的測試類

  這里包括生成:controller、Service、ServiceImpl、Mapper、Mapper.xml

本項目地址https://github.com/Simple-Coder/manage-system(其中也有很多不足)


免責聲明!

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



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