Dodo FrameworkJava Web 自動化開發(fā)框架
DodoFramework
介紹
一個基于代碼生成引擎的Java Web自動化開發(fā)框架,開發(fā)效率提升90+%,后臺管理系統(tǒng)秒級生成。
上手成本極低(幾個注解,僅應(yīng)用在Java 實體類),大眾化的基礎(chǔ)框架(Spring MVC、Hibernate、Freemarker),瞬間生成完全手寫代碼,代碼注釋完備,安全健壯,命名規(guī)范,可讀性高,可維護,可擴展,針對特定需求可輕松修改。
上手成本極低
僅需學(xué)習(xí)如何對實體類加注解即可;實體類的注解代碼生成完成后,可以刪掉,不影響運行
適合場景
中小型Java Web系統(tǒng)、APP或者小程序的后臺管理系統(tǒng),基本上生成無須或者很少改動。讓精力更加focus在業(yè)務(wù)邏輯上。
共十一套頁面模板
Classic版本支持10套模板,Pro版本支持1套模板
示例效果圖
Get Started
第一步:POJO 實體類注解
寫好Java 實體類后,使用Dodo注解擴展
@DodoField(name = "產(chǎn)品名稱", sortSeq = 0, isRemoteCheck = true, regExp="[A-Za-z0-9]+",regExpTip="只允許輸入數(shù)字和26個英文字母")
private String name;
@DodoField(name = "產(chǎn)品描述", sortSeq = 5, listable = false, isnullable = false, isRichText = true)
private String productDesc;
@DodoField(name = "產(chǎn)品價格", sortSeq = 1)
private BigDecimal price;
@DodoField(name = "產(chǎn)品積分", sortSeq = 2, max = Integer.MAX_VALUE + "", min = Integer.MIN_VALUE + "")
private int buyScore;
@DodoField(name = "產(chǎn)品狀態(tài)", sortSeq = 4, isnullable = false, isRemoteCheck = false)
private ProductStatus productStatus;
@DodoField(name = "產(chǎn)品顏色", sortSeq = 5, isnullable = false, isColor = true)
private String productColor;
第二步:生成代碼
運行代碼生成引擎,生成MVC、DB代碼數(shù)據(jù)
16:56:21.791 [main] INFO c.g.f.p.counter.FileLineCounter - Congratulations:
16:56:21.791 [main] INFO c.g.f.p.counter.FileLineCounter - Finally:
16:56:21.791 [main] INFO c.g.f.p.counter.FileLineCounter - You have written: 43 files : 8670 lines
16:56:21.791 [main] INFO c.g.f.p.counter.FileLineCounter - Generate: 772 files : 381785 lines
16:56:21.791 [main] INFO c.g.f.p.counter.FileLineCounter - The percentage of generated code is 97.78%:
16:56:21.791 [main] INFO c.generate.utils.Step_4_GenerateCode -
16:56:21.791 [main] INFO c.generate.utils.Step_4_GenerateCode - ******************************************************
16:56:21.791 [main] INFO c.generate.utils.Step_4_GenerateCode - Step_4_GenerateCode ....Exec OK!
16:56:21.791 [main] INFO c.generate.utils.Step_4_GenerateCode - Take time -> 00:00:05:037
第三步:Coffee time
部署三聯(lián):刷新、打包、部署;大部分項目產(chǎn)出的管理后臺無須任何改動。
在線演示
DEMO系統(tǒng)的編碼量只是寫了幾個實體類模型而已,其余全部由引擎生成,包括權(quán)限管理、基礎(chǔ)管理等模塊
** DodoFramework Pro 在線演示**
What is Dodo?
一句話概括這個項目:這是一個基于代碼生成引擎的Java Web系統(tǒng)自動化開發(fā)框架。簡單的說,就是一個Java Web整合的基礎(chǔ)框架加上一個代碼生成引擎。
上手成本極低(幾個注解,僅應(yīng)用在Java 實體類),大眾化的基礎(chǔ)框架(Spring MVC、Hibernate、Freemarker),瞬間生成完全手寫代碼,代碼注釋完備,安全健壯,命名規(guī)范,可讀性高,可維護,可擴展,針對特定需求可輕松修改。
(1)安全穩(wěn)定的基礎(chǔ)框架
基于Spring MVC-5.1、Hibernate-5.4、Freemarker、Druid框架組合
管理系統(tǒng)安全框架:Spring Security-5.2
安全增強:登錄加鹽,動態(tài)Salt、靜態(tài)Salt;支持隨時變換后臺訪問地址,上線后由運營同學(xué)修改,增加安全性
8年使用實踐,0問題報告
(2)MVC、DB全代碼生成
全代碼自動生成:對Java實體注解增強,然后瞬間生成MVC每層代碼;代碼全注釋,修改易維護
生成功能多樣可配置,需求輕松應(yīng)對;無需關(guān)心數(shù)據(jù)庫,數(shù)據(jù)庫表自動生成(帶注釋),數(shù)據(jù)庫表命名規(guī)范、可維護;基礎(chǔ)數(shù)據(jù)自動生成;
內(nèi)置十七種Detector,配置問題提前發(fā)現(xiàn),確保生成系統(tǒng)正常運行,萬無一失
(3)節(jié)省開發(fā)時間
學(xué)習(xí)成本極低:只需要學(xué)習(xí)幾個注解,而且注解只應(yīng)用于Java POJO類上
支持近二十種組件,每種組件一個注解搞定,而且支持各種校驗、控制,PDF自動在線預(yù)覽,斷點續(xù)傳,自動取值,文檔、視頻自動轉(zhuǎn)換展示等等
集成微信SDK,微信開發(fā)更快速
HQLHelper:鏈?zhǔn)骄帉慔QL查詢語句,無需了解HQL知識;另外支持JDBC
(4)簡單強大的在線報表
在線編輯SQL、配置菜單、配置查詢條件、分頁篩選、導(dǎo)出Excel、指定子視圖等等
(5)精細(xì)的權(quán)限控制
功能權(quán)限、字段權(quán)限、行級數(shù)據(jù)權(quán)限、按鈕權(quán)限等,支持權(quán)限委托、權(quán)限動態(tài)更新
(6)完善的日志記錄
業(yè)務(wù)日志、登錄日志、請求日志、Slow Sql日志、后臺登錄會話查看、踢出
Features
- 基礎(chǔ)框架簡單安全,人人都會:Spring MVC、Spring Security、Hibernate、Freemarker、Druid
- 全代碼自動生成:對Java實體注解增強,然后瞬間生成MVC每層代碼;代碼全注釋,修改易維護
- 生成功能多樣可配置,需求輕松應(yīng)對:CRUD、批量導(dǎo)入導(dǎo)出、批量更新、統(tǒng)計列表圖表、彈出選擇等
- 無需關(guān)心數(shù)據(jù)庫,數(shù)據(jù)庫表自動生成(帶注釋),數(shù)據(jù)庫表命名規(guī)范、可維護
- 基礎(chǔ)數(shù)據(jù)自動生成:菜單、權(quán)限、字段權(quán)限、角色、管理員、實體、字段配置等等
- 代碼生成全面預(yù)校驗:內(nèi)置十七種Detector,將配置問題暴露代碼生成之前,麻麻再也不用擔(dān)心生成代碼無法運行、報錯了
- 全面國際化支持:菜單、字段、枚舉、提示文本、easyUI、ueditor、分頁等等,一鍵切換
- 支持多種組件:字符串、文本域、富文本、文件、文檔、視頻、多文件、地理位置、顏色、密碼域、數(shù)字、整數(shù)、日期、等等
- 組件支持各種校驗:非空、最大最小、郵箱、手機、URL、信用卡、IP地址、日期,自定義正則表達式
- 組件支持各種控制:不同組件錄入及展示方式不同,斷點續(xù)傳、圖片尺寸校驗、文檔自動轉(zhuǎn)換在線預(yù)覽、視頻自動轉(zhuǎn)換在線預(yù)覽、pdf在線預(yù)覽、自動取值等
- HQLHelper:鏈?zhǔn)骄帉慔QL查詢語句,無需了解HQL知識;另外支持JDBC
- 精細(xì)的權(quán)限控制:功能權(quán)限、字段權(quán)限、行級數(shù)據(jù)權(quán)限、按鈕權(quán)限等,支持權(quán)限委托、權(quán)限動態(tài)更新
- 簡單強大的在線報表:在線編輯SQL、配置菜單、配置查詢條件、分頁篩選、導(dǎo)出Excel、指定子視圖等等
- 完善的日志記錄:業(yè)務(wù)日志、登錄日志、請求日志、Slow Sql日志、后臺登錄會話查看、踢出
- 無限級聯(lián)支持:多組級聯(lián)、混合級聯(lián)
- 各種樹支持:單表樹、多表樹、混合樹
- 支持模型擴展(后臺):無需生成代碼,后臺通過模型擴展模塊給模型添加虛擬字段,支持各種組件
- 游離文件自動刪除:上傳的垃圾文件自動記錄并自動刪除(可選)
- 多數(shù)據(jù)源支持
- 安全增強:登錄加鹽,動態(tài)Salt、靜態(tài)Salt;支持隨時變換后臺訪問地址,上線后由運營同學(xué)修改,增加安全性
- 更多特性開發(fā)中...
授權(quán)協(xié)議及聲明
- 已開源的全部代碼,采用 Apache-2.0 License 授權(quán)協(xié)議進行發(fā)行。
- DodoFramework可以被用來完全免費開發(fā)任何私有的或者商業(yè)項目。
- 將DodoFramework本身(包括以任何形式的修改)作為一個工具或者開發(fā)平臺、框架而從事商業(yè)活動,是不被授權(quán)允許的。DodoFramework保留運用法律手段的權(quán)利。
- 在使用過程中,請保留代碼中的協(xié)議、版權(quán)聲明和其他原作者規(guī)定需要包含的說明。
- 請了解并知悉,DodoFramework Classic對實體類模型數(shù)量無任何限制。DodoFramework Pro社區(qū)版實體類模型數(shù)量不可超過15個。
- DodoFramework Pro無限制授權(quán):https://www.0yi0.com https://www.bydodo.com
技術(shù)服務(wù)與支持
- 沒有資金的支撐就很難得到發(fā)展,特別是一個好的產(chǎn)品,如果 DodoFramework 幫助了您,請為我們點贊Star。
- 支持我們,我們將協(xié)助您更加降低研發(fā)成本、提高研發(fā)效率,請給我們一些支持和動力吧,非常感謝已支持我們的朋友!
- 官方網(wǎng)站:https://www.bydodo.com
