SpringBoot版的低代码开发平台,关联无SQL,性能高10倍!
diboot 的设计理念
Web 开发需要一个普适的基础框架,把复杂的问题简单化,最好还能做到更佳性能,规避常见的坑
程序员很难被替代,但程序员应该聚焦于数据结构设计、业务实现、难点解决,重复 CRUD 没啥长进
低代码是未来的趋势,CRUD 类重复有规律的工作是可以被自动化甚至被省掉的 diboot 主要技术栈后端 Java + 关系数据库,跟紧 Spring 体系 (Spring Boot、Spring Cloud) ORM 站队 Mybatis,通用 Mappe r框架选用 Mybatis-plus 权限: spring boo 版本使用 Shiro+JWT;spring cloud 版本使用 spring security + oauth2 前后分离,前端选型 Vue,支持 ElementUI 和 Antd vue pro
基于diboot-core的CRUD和常规关联的功能实现,代码量比传统Mybatis项目减少80%+,且性能更好更易维护。 diboot 基础组件1、 diboot-core: 精简优化内核:写的更少,性能更好
主要特性: 单表CRUD无SQL 关联绑定无SQL(注解自动绑定) 数据字典无SQL(注解自动绑定) 跨表查询无SQL(自动构建QueryWrapper与查询) BaseService扩展增强,支持常规的单表及关联开发场景接口 其他常用工具类、状态码、异常处理的更优实践封装
基于diboot-core的CRUD和常规关联的功能实现,代码量比传统Mybatis项目减少80%+,且性能更好更易维护。 2、IAM 身份认证基础组件 及 配套VUE前端框架(diboot-antd-admin、diboot-element-admin)开箱即用的RBAC角色权限模型与预置组织人员岗位模型 基于无状态token的认证授权,支持刷新token 简化的BindPermission注解,支持兼容shiro的简化权限配置与自动鉴权 自动提取需要鉴权的后端接口, 借助前端功能方便配置菜单按钮权限 无缝适配redis,引入redis依赖即可启用shiro的redis缓存 支持基于注解的数据权限实现、简化的Log注解记录操作日志等 支持灵活的扩展能力(扩展多种登录方式、灵活替换用户实体类、自定义缓存等) 3、diboot-file 文件相关处理组件EasyExcel轻量封装,支持Java注解校验与 @ExcelBind* 注解实现字典及关联字段的name-value 转换,并提供完善的校验错误提示文件存储接口化,预置本地存储,简单扩展OSS、分布式存储等实现 封装常用的文件上传下载、图片压缩水印等常用处理 4、diboot-scheduler 定时任务组件Quartz定时任务统一管理及日志的最佳实践封装 @CollectThisJob 注解提供定时任务定义,自动收集供前端选择5、diboot-message 消息通知组件通用的消息模板&模板变量的设计方案 支持多通道的消息通知发送 6、diboot-mobile 移动端组件提供了配套的 diboot-mobile-ui ,内置了多种登录方式支持 账号密码登录、微信小程序登录(自动注册)微信公众号登录(自动注册) diboot-core (diboot-core-starter) 使用步骤引入依赖 com.diboot diboot-core-spring-boot-starter {latestVersion}
或 Gradle: compile("com.diboot:diboot-core-spring-boot-starter:{latestVersion}") 配置参数(数据源) #datasource config spring.datasource.url=jdbc:mysql://localhost:3306/diboot_example?characterEncoding=utf8&serverTimezone=GMT%2B8 spring.datasource.username=diboot spring.datasource.password=123456 spring.datasource.hikari.maximum-pool-size=5 spring.datasource.hikari.driver-class-name=com.mysql.cj.jdbc.Driver ------------------------------------------------------------------------- #diboot-core-spring-boot-starter的可选参数配置: # 是否初始化sql,默认true,初始化之后(或非开发环境)可以改为false关闭检测 diboot.core.init-sql=false 配置config类
diboot-core-starter 默认预置了 mybatis-plus 的分页配置(使用 mybatis-plus 3.4.x的 MybatisPlusInterceptor 最新配置方式)。如果您依赖的是core-starter ,则无需再次配置 mybatis-plus 的分页。
如果需要添加其他 Interceptor ,则需要重新定义 MybatisPlusInterceptor 。示例如下:@Bean public MybatisPlusInterceptor mybatisPlusInterceptor() { MybatisPlusInterceptor interceptor = new MybatisPlusInterceptor(); interceptor.addInnerInterceptor(new PaginationInnerInterceptor()); return interceptor; } //同时core-starter中也默认配置了HttpMessageConverters,如果需要更改默认配置, 则需要在配置类中重新定义HttpMessageConverters。 @Bean public HttpMessageConverters jacksonHttpMessageConverters() { ... }
注意: diboot-core-starter 预置了默认的配置以及字典表相关的接口实现,如果是老项目中仅依赖 diboot-core (非diboot-core-starter ),则还需要将 diboot 的包路径加入 ComponentScan 中diboot 新手体验
在 IDE 中克隆 playground 项目
" File -> New -> Project from version control... "菜单打开克隆项目对话框:
URL 中输入如下 playground 项目路径,指定项目本地路径(避免中文路径),点击 Clone 按钮 : https://gitee.com/dibo_software/playground.git
待克隆完成后,在右侧 Maven 视图中,添加 demo 项目下的 pom.xml
准备数据库后使用 devtools 初始化代码
1、点击控制台中打印出的 URL,进入devtools操作页面。(个人用户初次使用需要扫码)
2、初次启动 devtools 会提示初始化组件的基础代码(为了方便自定义修改,devtools 将controller 等代码生成到本地项目中)。依次点击各组件的"生成代码"按钮。
3、打开 demo 目录下的 java 目录,将会看到相关组件的初始化代码已生成。
注意:如果启动前端发现验证码无法显示,则需要检查是否执行了这个步骤并重启了项目。登录验证相关的 controller 需要此步骤中生成
开源地址:
https://gitee.com/dibo_software/diboot
原文链接:https://mp.weixin.qq.com/s/XYQ_0w0wtsKcLK0jvkdJIg
研究发现就算太阳突然熄灭,太阳系内仍有微弱光源存在常识告诉我们太阳是太阳系内唯一的光源,其他所有能被看见的太阳系天体,都是靠反射太阳光才变得可见的。因此如果太阳突然熄灭,以光速消失的太阳光将会让水星最先熄灭,然后是金星,然后是月球
明朝初期开国功臣大全(八)此开国功臣大全是根据明本皇明开国功臣录,并参考明史明太祖实录以及其它一些史料缩略而成。名录共32卷,593位。本文将分若干期发表。卷二十215沈仁宁国卫指挥佥事,福建行都指挥使,都
春节坚守岗位多地快递公司开展不打烊行动来源人民网人民网北京1月17日电(王绍绍)近日,人力资源和社会保障部等12部委发布关于开展2023年春节期间春暖农民工服务行动的通知,要求切实做好春节期间农民工关怀慰问出行服务健康
都2023年了,电冻车之困有最优解了吗?曹原发自凹非寺量子位公众号QbitAI马上过年了,开新能源车回家,在你的选项里吗?可能有人会说我选择开燃油车。如果开燃油车,万一碰到高速堵车油耗会蹭蹭上涨,同时燃油价格也在上涨,长
动力电池能量密度全面解析!续航能力可用电量能耗在相同能耗不变,电池包体积和重量不变都受到严格限制的情况下,新能源汽车的单次最大行驶里程主要取决于电池的能量密度。图1电池包系统在整车中的布局什么是能量密度?能
回眸我国天宫空间站研制及建造进展壬寅虎年,中国完成了天宫空间站的在轨建造,取得了举世瞩目的航天成就。在癸卯兔年即将来临之际,让我们共同回顾我国天宫空间站的研制及建造进展过程。空间站是人类探索太空的前哨站。经过50
联想小新Pro16WiFi经常掉线?硬件配置联想笔记本电脑小新Pro162022高性能轻薄本(8核标压R76800H16G512G2。5K120Hz75Wh大电池)深空灰购买日期渠道2022年6月18日联想京东自营旗
从笑话到传奇!中国土老帽组合惊变在电脑领域,一直都是美国英特尔和微软的天下,一个把CPU处理器芯片,一个把持操作系统,windows和intel的组合被人称作wintel。正是因为电脑产品垄断的,美国才能肆无忌惮
最近的这件大事,就是要通吃日前,商务部等14个部门确定了内外贸一体化试点地区名单,北京市上海市江苏省浙江省(含宁波市)福建(含厦门市)湖南省广东省(含深圳市)重庆市新疆维吾尔自治区9地入选。内外贸一体化,通
InfiniBand池化方案与存算分离数据库在线研讨会全程回顾1月13日下午,NVIDIA联合智东西公开课策划的InfiniBand池化方案与存算分离数据库在线研讨会顺利完结,累计收看人次4100。此次研讨会邀请到NVIDIA网络高级市场开发
波兰足协官宣新帅,葡萄牙老帅携手莱万再冲欧洲杯,年薪创纪录周二,波兰足协宣布桑托斯将担任波兰国家队主帅,桑托斯表示,能够在波兰继续我的执教生涯令人欣慰。在卡塔尔世界杯结束之后,波兰足协决定不与合同到期的米赫涅维奇续约。同样是在世界杯之后,