有人曾说:人的差距都在业余时间拉开的……嗯,我现在深刻理解着这句话,作为一个程序员,技术男,就得不断学习新的技术,跟上时代步伐,才会让自己更有价值~~~~以下这个项目是个人利用业余时间学习并实践的~如有不正确的地方,欢迎大家指正。今天总算把这些功能都搞得差不多了,做一下记录,结一下尾。

一、概述

  本系统主要是一个后台管理系统,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(其中也有很多不足:比如代码冗余问题等等)

Activiti+Shiro实战的更多相关文章

  1. Shiro实战教程-刘志敏-专题视频课程

    Shiro实战教程-62人已学习 课程介绍        本教程只介绍基本的 Shiro 使用,不会过多分析源码等,重在使用. 适用人群: 1.了解基于Servlet进行Web应用开发 2.了解Spr ...

  2. shiro实战系列(二)之入门实战续

    下面讲解基于实战系列一,所以相关的java文件获取pom.xml及其log4j文件同样适用于本次讲解. 一.Using Shiro Using Shiro 现在我们的 SecurityManager ...

  3. shiro实战系列(一)之入门实战

    一.什么是shiro? Apache Shiro 是一个强大而灵活的开源安全框架,它干净利落地处理身份认证,授权,企业会话管理和加密.   Apache Shiro 的首要目标是易于使用和理解.安全有 ...

  4. Springmvc+Shiro实战

    原文链接:http://blog.csdn.net/qq_37936542/article/details/79010449 springmvc+shiro实现系统粗细粒度的权限管理步骤: 1:表格设 ...

  5. shiro实战系列(四)之配置

    Shiro之配置 Shiro 被设计成能够在任何环境下工作,从最简单的命令行应用程序到最大的的企业群集应用.由于环境的多样性,使得许多配置机制适用于它的配置. 一. 许多配置选项 Shiro的Secu ...

  6. shiro实战系列(三)之架构

    Apache Shiro 的设计目标是通过直观和易于使用来简化应用程序安全.Shiro 的核心设计体现了大多数人们是如何考虑应用程序安全的——在某些人(或某些事)与应用程序交互的背景下.   应用软件 ...

  7. shiro实战系列(十五)之Spring集成Shiro

    Shiro 的 JavaBean 兼容性使得它非常适合通过 Spring XML 或其他基于 Spring 的配置机制.Shiro 应用程序需要一个具 有单例 SecurityManager 实例的应 ...

  8. shiro实战系列(十三)之单元测试

    由于我们已经涉及到了 Subject reference,我们知道 Subject 是“当前执行”用户的特定安全视图,且该 Subject 实 例绑定到一个线程来确保我们知道在线程执行期间的任何时间是 ...

  9. shiro实战系列(十四)之配置

    Shiro 被设计成能够在任何环境下工作,从最简单的命令行应用程序到最大的的企业群集应用.由于环境的多样性,使得许多配置机制适用于它的配置. 一. 许多配置选项 Shiro的SecurityManag ...

随机推荐

  1. linux服务基础之编译安装nginx

    nginx源码下载地址: http://nginx.org/download/nginx-1.16.0.tar.gz //根据需要下载其他版本 1. 下载nginx # wget http://ngi ...

  2. 忽略npm install安装失败信息

    在package.json目录下运行npm install命令时会提示某些模块安装失败,如下图所示:   不管你在.npmrc文件中设置了proxy.https-proxy和registry地址,它还 ...

  3. Rtudio 安装包报错

    今天重新安装了一下Rstudio,基本上很多包都安装不上,问了度娘发现被墙了 f..k.. 解决办法,更改安装包的镜像为清华镜像 tools->gloabl options->packag ...

  4. C语言面试题 02.03. 删除中间节点

    实现一种算法,删除单向链表中间的某个节点(除了第一个和最后一个节点,不一定是中间节点),假定你只能访问该节点. 示例: 输入:单向链表a->b->c->d->e->f中的 ...

  5. react-native构建基本页面3---路由配置

    安装路由 运行yarn add react-native-router-flux 路由官网 路由相关配置 路由简单的DEMO // Main 才是项目的根组件 import React, { Comp ...

  6. SendMessage模拟按键所需的虚拟键码

    Virtual-Key Codes The following table shows the symbolic constant names, hexadecimal values, and mou ...

  7. 假期学习【六】Python网络爬虫2020.2.4

    今天通过Python网络爬虫视频复习了一下以前初学的网络爬虫,了解了网络爬虫的相关规范. 案例:京东的Robots协议 https://www.jd.com/robots.txt 说明可以爬虫的范围 ...

  8. windows批量删除同名进程

    这里以删除chromedriver.exe 黑窗口执行命令:taskkill /F /IM chromedriver.exe 任务管理器发现,内存使用迅速指数下降

  9. 分类问题(三)混淆矩阵,Precision与Recall

    混淆矩阵 衡量一个分类器性能的更好的办法是混淆矩阵.它基于的思想是:计算类别A被分类为类别B的次数.例如在查看分类器将图片5分类成图片3时,我们会看混淆矩阵的第5行以及第3列. 为了计算一个混淆矩阵, ...

  10. Oracle库基本操作

    --oracle 获取表名称,字段 with vA as ( SELECT USER_TAB_COLS.TABLE_NAME as 表名,USER_TAB_COLS.COLUMN_NAME as 列名 ...