日本电影一区二区_日本va欧美va精品发布_日本黄h兄妹h动漫一区二区三区_日本欧美黄色

SpringBoot版的低代碼開發(fā)平臺,關(guān)聯(lián)無 SQL,性能高10倍?。╯pring boot 低代碼)

SpringBoot版的低代碼開發(fā)平臺,關(guān)聯(lián)無 SQL,性能高10倍?。╯pring boot 低代碼)

diboot 的設(shè)計理念

Web 開發(fā)需要一個普適的基礎(chǔ)框架,把復(fù)雜的問題簡單化,最好還能做到更佳性能,規(guī)避常見的坑

程序員很難被替代,但程序員應(yīng)該聚焦于數(shù)據(jù)結(jié)構(gòu)設(shè)計、業(yè)務(wù)實現(xiàn)、難點解決,重復(fù) CRUD 沒啥長進(jìn)

低代碼是未來的趨勢,CRUD 類重復(fù)有規(guī)律的工作是可以被自動化甚至被省掉的

diboot 主要技術(shù)棧

  • 后端 Java 關(guān)系數(shù)據(jù)庫,跟緊 Spring 體系 (Spring Boot、Spring Cloud)
  • ORM 站隊 Mybatis,通用 Mappe r框架選用 mybatis-plus
  • 權(quán)限: spring boo 版本使用 shiro JWT;spring cloud 版本使用 spring security oauth2
  • 前后分離,前端選型 Vue,支持 ElementUI 和 Antd vue pro

基于diboot-core的CRUD和常規(guī)關(guān)聯(lián)的功能實現(xiàn),代碼量比傳統(tǒng)Mybatis項目減少80% ,且性能更好更易維護。

diboot 基礎(chǔ)組件

1、 diboot-core: 精簡優(yōu)化內(nèi)核:寫的更少,性能更好

主要特性:

  • 單表CRUD無SQL
  • 關(guān)聯(lián)綁定無SQL(注解自動綁定)
  • 數(shù)據(jù)字典無SQL(注解自動綁定)
  • 跨表查詢無SQL(自動構(gòu)建QueryWrapper與查詢)
  • BaseService擴展增強,支持常規(guī)的單表及關(guān)聯(lián)開發(fā)場景接口
  • 其他常用工具類、狀態(tài)碼、異常處理的更優(yōu)實踐封裝

基于diboot-core的CRUD和常規(guī)關(guān)聯(lián)的功能實現(xiàn),代碼量比傳統(tǒng)Mybatis項目減少80% ,且性能更好更易維護。

2、IAM 身份認(rèn)證基礎(chǔ)組件 及 配套VUE前端框架(diboot-antd-admin、diboot-element-admin)

  • 開箱即用的RBAC角色權(quán)限模型與預(yù)置組織人員崗位模型
  • 基于無狀態(tài)token的認(rèn)證授權(quán),支持刷新token
  • 簡化的BindPermission注解,支持兼容shiro的簡化權(quán)限配置與自動鑒權(quán)
  • 自動提取需要鑒權(quán)的后端接口, 借助前端功能方便配置菜單按鈕權(quán)限
  • 無縫適配redis,引入redis依賴即可啟用shiro的redis緩存
  • 支持基于注解的數(shù)據(jù)權(quán)限實現(xiàn)、簡化的Log注解記錄操作日志等
  • 支持靈活的擴展能力(擴展多種登錄方式、靈活替換用戶實體類、自定義緩存等)

3、diboot-File 文件相關(guān)處理組件

  • EasyExcel輕量封裝,支持Java注解校驗與@ExcelBind*注解實現(xiàn)字典及關(guān)聯(lián)字段的name-value轉(zhuǎn)換,并提供完善的校驗錯誤提示
  • 文件存儲接口化,預(yù)置本地存儲,簡單擴展OSS、分布式存儲等實現(xiàn)
  • 封裝常用的文件上傳下載、圖片壓縮水印等常用處理

4、diboot-scheduler 定時任務(wù)組件

  • Quartz定時任務(wù)統(tǒng)一管理及日志的最佳實踐封裝
  • @CollectThisJob注解提供定時任務(wù)定義,自動收集供前端選擇

5、diboot-message 消息通知組件

  • 通用的消息模板&模板變量的設(shè)計方案
  • 支持多通道的消息通知發(fā)送

6、diboot-mobile 移動端組件

  • 提供了配套的 diboot-mobile-ui ,內(nèi)置了多種登錄方式
  • 支持 賬號密碼登錄、微信小程序登錄(自動注冊)微信公眾號登錄(自動注冊)

diboot-core (diboot-core-starter) 使用步驟

  1. 引入依賴

<dependency> <groupId>com.diboot</groupId> <artifactId>diboot-core-spring-boot-starter</artifactId> <version>{latestVersion}</version></dependency>

Gradle:

compile("com.diboot:diboot-core-spring-boot-starter:{latestVersion}")

  1. 配置參數(shù)(數(shù)據(jù)源)

#datasource configspring.datasource.url=jdbc:mysql://localhost:3306/diboot_example?characterEncoding=utf8&serverTimezone=GMT+8spring.datasource.username=dibootspring.datasource.password=123456spring.datasource.hikari.maximum-pool-size=5spring.datasource.hikari.driver-class-name=com.mysql.cj.jdbc.Driver-------------------------------------------------------------------------#diboot-core-spring-boot-starter的可選參數(shù)配置:# 是否初始化sql,默認(rèn)true,初始化之后(或非開發(fā)環(huán)境)可以改為false關(guān)閉檢測diboot.core.init-sql=false

  1. 配置config類

diboot-core-starter 默認(rèn)預(yù)置了 mybatis-plus 的分頁配置(使用 mybatis-plus 3.4.x的 MybatisPlusInterceptor 最新配置方式)。如果您依賴的是core-starter,則無需再次配置 mybatis-plus 的分頁。

如果需要添加其他Interceptor,則需要重新定義 MybatisPlusInterceptor。示例如下:

@Beanpublic MybatisPlusInterceptor mybatisPlusInterceptor() { MybatisPlusInterceptor interceptor = new MybatisPlusInterceptor(); interceptor.addInnerInterceptor(new PaginationInnerInterceptor()); return interceptor;}//同時core-starter中也默認(rèn)配置了HttpMessageConverters,如果需要更改默認(rèn)配置, 則需要在配置類中重新定義HttpMessageConverters。@Beanpublic HttpMessageConverters jacksonHttpMessageConverters() { ...}

注意:diboot-core-starter 預(yù)置了默認(rèn)的配置以及字典表相關(guān)的接口實現(xiàn),如果是老項目中僅依賴 diboot-core(非diboot-core-starter),則還需要將 diboot 的包路徑加入 ComponentScan 中

diboot 新手體驗

在 IDE 中克隆 playground 項目

"File -> New -> Project from version control…"菜單打開克隆項目對話框:

SpringBoot版的低代碼開發(fā)平臺,關(guān)聯(lián)無 SQL,性能高10倍?。╯pring boot 低代碼)

URL 中輸入如下 playground 項目路徑,指定項目本地路徑(避免中文路徑),點擊 Clone 按鈕 :https://gitee.com/dibo_software/playground.git

SpringBoot版的低代碼開發(fā)平臺,關(guān)聯(lián)無 SQL,性能高10倍?。╯pring boot 低代碼)

待克隆完成后,在右側(cè) Maven 視圖中,添加 demo 項目下的 pom.xml

SpringBoot版的低代碼開發(fā)平臺,關(guān)聯(lián)無 SQL,性能高10倍!(spring boot 低代碼)

準(zhǔn)備數(shù)據(jù)庫后使用 devtools 初始化代碼

1、點擊控制臺中打印出的 URL,進(jìn)入devtools操作頁面。(個人用戶初次使用需要掃碼)

2、初次啟動 devtools 會提示初始化組件的基礎(chǔ)代碼(為了方便自定義修改,devtools 將controller 等代碼生成到本地項目中)。依次點擊各組件的"生成代碼"按鈕。

SpringBoot版的低代碼開發(fā)平臺,關(guān)聯(lián)無 SQL,性能高10倍?。╯pring boot 低代碼)

3、打開 demo 目錄下的 java 目錄,將會看到相關(guān)組件的初始化代碼已生成。

注意:如果啟動前端發(fā)現(xiàn)驗證碼無法顯示,則需要檢查是否執(zhí)行了這個步驟并重啟了項目。登錄驗證相關(guān)的 controller 需要此步驟中生成

開源地址:

https://gitee.com/dibo_software/diboot

原文鏈接:https://mp.weixin.qq.com/s/XYQ_0w0wtsKcLK0jvkdJIg

相關(guān)新聞

聯(lián)系我們
聯(lián)系我們
公眾號
公眾號
在線咨詢
分享本頁
返回頂部
那曲县| 汝城县| 札达县| 分宜县| 庆城县| 丹江口市| 伊通| 乌恰县| 新宾| 陕西省| 建昌县| 上思县| 图木舒克市| 正定县| 临沂市| 焦作市| 惠东县| 昭平县| 芒康县| 洪湖市| 定结县| 宁河县| 玉树县| 塔城市| 哈密市| 云林县| 星座| 山丹县| 聂拉木县| 山东省| 金湖县| 河西区| 酒泉市| 天台县| 甘肃省| 三亚市| 宁德市| 延边| 济宁市| 罗源县| 宁夏|