时间:2020-08-04 15:21作者:小静人气:81
设计理念
diboot 的诞生背景
众多开发团队现状: 效率低、质量差、可维护性差,我们也常听到开发者抱怨每天CRUD、工作就是搬砖。
很多团队雇不起好的架构师,即使有也大概率不会给他机会去做打地基的事情。
diboot正在尝试做些改变 :
diboot 的设计理念
Web系统开发需要一个普适的基础框架,把复杂的问题简单化,最好还能做到更佳性能,规避常见的坑
程序员很难被替代,但程序员应该聚焦于数据结构设计、业务实现、难点解决,重复CRUD没啥长进
CRUD类重复性的工作是可以被自动化甚至被省掉的,包括单表及常规的关联场景相关场景
diboot 主要技术栈
后端Java+关系数据库,跟紧Spring Boot
ORM站队Mybatis,通用Mapper框架选择Mybatis-plus
后端权限使用Shiro+JWT
前后分离,前端选型Vue
IAM-base: 身份认证与访问控制组件 (基础版)
组件特性
开箱即用的RBAC角色权限模型
基于JWT的认证授权,支持申请token、刷新token
简化的BindPermission注解,支持兼容shiro的简化权限绑定与自动鉴权
自动提取需要验证的后端接口, 借助前端功能方便绑定前后端菜单按钮权限
预置用户名密码登录(密码带盐加密), 并支持多种登录方式扩展
预置默认用户实体,并支持灵活替换用户类型
默认启用内存缓存,并支持自定义缓存实现类
starter启动自动安装依赖的数据表,启用devtools,还可一键生成初始controller代码到本地
角色权限模型说明
角色权限模型 基于“用户-角色-权限”的基础模型扩展“账号”实体,以支持多种登录方式。
组件包含了与此模型相关的后端代码,且依赖的数据结构在组件starter初次启动时将自动初始化。
配套的前端基础框架有antd、element-ui,前端代码参考: diboot-antd-admin 及 diboot-element-admin
diboot-file: 文件处理组件
组件特性
EasyExcel轻量封装,支持Java注解校验与@ExcelBind*注解实现字典及关联字段的name-value转换,并提供完善的校验错误提示
封装常用的文件本地存储、上传下载、图片压缩水印等常用处理
Starter启动自动安装依赖的数据表
启用devtools,可一键生成初始样例controller代码到本地
组件依赖的数据表upload_file(通用的上传文件记录表),在组件starter初次启动时将自动初始化。
网友评论