springBoot框架的权限管理系统,支持操作权限和数据权限,后端采用springBoot,MyBatis,Shiro,前端使用adminLTE,Vue.js,bootstrap-table、tree-grid、layer,对前后端进行封装,可快速实现crud的操作,基于项目结构采用代码生成器可生成前端后台的部分代码,更加方便地进行二次开发,项目采用maven构建,方便扩展自定义模块。
项目介绍
一个轻量级的java快速开发平台,能快速开发项目并交付
具有以下特点:
友好的代码结构以及注释,便于阅读二次开发
实现前后端分离,通过token实现数据交互,前端再也不用关注后端技术
灵活的权限控制,可控制到页面或者按钮。满足绝大部分的权限需求。
页面交互使用Vue2.x,极大的提高了开发效率
支持通过velocity模板生成部分代码,可直接生成到项目的路径,无须二次部署。
基于角色的权限管理,支持操作权限和数据权限。
基于maven模块开发,可快速扩展个性化业务模块。
技术方案
- 核心框架:SpringBoot
- ORM框架:Mybatis
- 安全框架:Shiro
- 模板框架:thymeleaf
- 主页框架:adminLTE(Bootstrap)
- JS框架:vue.js
- 表格插件:bootstrap-table
- 树形表格:tree-grid(基于bootstrap扩展)
- 树形插件:ztree
- 弹窗组件:layer
- 表单校验:validator
命名规范(参考阿里巴巴Java开发手册)
获取单个对象的方法用get前缀
获取多个对象的方法用List前缀
获取统计值的方法用count做前缀
插入的方法用save(推荐)或者insert做前缀
删除的方法用remove(推荐)或delete做前缀
修改的方法用update做前缀
应用分层(参考阿里巴巴Java开发手册)
开放接口层:可以直接封装service方法暴露成RPC接口,通过web封装成Http接口,进行网关安全控制,流量控制;
终端显示层:各个端的模板渲染并执行显示的层。当前主要是用velocity渲染,js渲染,jsp渲染,移动端展示等。
web层:主要是对访问控制进行转发,各类基本参数进行校验,或者不复用的业务简单处理等。
service层:相对具体的业务逻辑服务层。
manager层:通过业务处理层,它有如下特征:
1.对第三方平台的封装层,预处理返回结果及转化异常信息;
2.对service层通过能力的下沉,如缓存方案,中间件通用处理。
3.与dao层交互,对多个dao的组合复用。
Dao层:数据访问层,与底层Mysql.Oracle,Hbase进行数据交互
外部接口或者第三方平台。包括其他的RPC开放接口,基础平台,其他公司的http接口。