SpringBoot開源快速開發(fā)框架BootDo



BootDo 官方說是用于學(xué)習(xí)型框架,實(shí)際上用于生產(chǎn)以及很不錯(cuò)了,只是不要直接使用該項(xiàng)目,需要其中的模塊可以學(xué)習(xí)部分模塊,BootDo里面的代碼生成器非常的好用,有一些小的bug,對(duì)前綴為t_的不夠友好,可以自行修改。也可以在他的代碼生成基礎(chǔ)上自行擴(kuò)展自己需要的代碼模板。
BootDo 面向?qū)W習(xí)型的開源框架
BootDo是高效率,低封裝,面向?qū)W習(xí)型,面向微服的開源Java EE開發(fā)框架。
BootDo是在 SpringBoot 基礎(chǔ)上搭建的一個(gè)Java基礎(chǔ)開發(fā)平臺(tái),MyBatis為數(shù)據(jù)訪問層,ApacheShiro 為權(quán)限授權(quán)層,Ehcahe 對(duì)常用數(shù)據(jù)進(jìn)行緩存。
BootDo主要定位于后臺(tái)管理系統(tǒng)學(xué)習(xí)交流,已內(nèi)置后臺(tái)管理系統(tǒng)的基礎(chǔ)功能和高效的代碼生成工具, 包括:系統(tǒng)權(quán)限組件、數(shù)據(jù)權(quán)限組件、數(shù)據(jù)字典組件、核心工具組件、視圖操作組件、工作流組件、代碼生成等。 前端界面風(fēng)格采用了結(jié)構(gòu)簡(jiǎn)單、性能優(yōu)良、頁面美觀大氣的Twitter Bootstrap頁面展示框架。 采用分層設(shè)計(jì)、雙重驗(yàn)證、提交數(shù)據(jù)安全編碼、密碼加密、訪問驗(yàn)證、數(shù)據(jù)權(quán)限驗(yàn)證。 使用Maven做項(xiàng)目管理,提高項(xiàng)目的易開發(fā)性、擴(kuò)展性。
BootDo 目前包括以下四大模塊:
- 系統(tǒng)管理(SYS)模塊、
- 內(nèi)容管理(CMS)模塊、
- 在線辦公(OA)模塊、
- 代碼生成(GEN)模塊。
系統(tǒng)管理模塊 ,包括企業(yè)組織架構(gòu)(用戶管理、機(jī)構(gòu)管理、區(qū)域管理)、 菜單管理、角色權(quán)限管理、字典管理等功能; 內(nèi)容管理模塊 ,包括內(nèi)容管理(文章、鏈接),欄目管理、站點(diǎn)管理、 公共留言、文件管理、前端網(wǎng)站展示等功能; 在線辦公模塊 ,提供簡(jiǎn)單的請(qǐng)假流程實(shí)例;代碼生成模塊 ,完成重復(fù)的工作。
BootDo 提供了常用工具進(jìn)行封裝,包括日志工具、緩存工具、服務(wù)器端驗(yàn)證、數(shù)據(jù)字典、當(dāng)前組織機(jī)構(gòu)數(shù)據(jù) (用戶、機(jī)構(gòu)、區(qū)域)以及其它常用小工具等。另外還提供一個(gè)強(qiáng)大的在線 代碼生成 工具。
內(nèi)置功能
- 用戶管理:用戶是系統(tǒng)操作者,該功能主要完成系統(tǒng)用戶配置。
- 機(jī)構(gòu)管理:配置系統(tǒng)組織機(jī)構(gòu)(公司、部門、小組),樹結(jié)構(gòu)展現(xiàn),可隨意調(diào)整上下級(jí)。
- 區(qū)域管理:系統(tǒng)城市區(qū)域模型,如:國家、省市、地市、區(qū)縣的維護(hù)。
- 菜單管理:配置系統(tǒng)菜單,操作權(quán)限,按鈕權(quán)限標(biāo)識(shí)等。
- 角色管理:角色菜單權(quán)限分配、設(shè)置角色按機(jī)構(gòu)進(jìn)行數(shù)據(jù)范圍權(quán)限劃分。
- 字典管理:對(duì)系統(tǒng)中經(jīng)常使用的一些較為固定的數(shù)據(jù)進(jìn)行維護(hù),如:是否、男女、類別、級(jí)別等。
- 操作日志:系統(tǒng)正常操作日志記錄和查詢;系統(tǒng)異常信息日志記錄和查詢。
- 連接池監(jiān)視:監(jiān)視當(dāng)期系統(tǒng)數(shù)據(jù)庫連接池狀態(tài),可進(jìn)行分析SQL找出系統(tǒng)性能瓶頸。
- 工作流引擎:實(shí)現(xiàn)業(yè)務(wù)工單流轉(zhuǎn)、在線流程設(shè)計(jì)器。
技術(shù)選型
1、后端
- 核心框架:Spring Boot
- 安全框架:Apache Shiro
- 模板引擎:Thymeleaf
- 持久層框架:MyBatis
- 數(shù)據(jù)庫連接池:Alibaba Druid
- 緩存框架:Ehcache 、Redis
- 日志管理:SLF4J
- 工具類:Apache Commons、Jackson
2、前端
- JS框架:jQuery
- 客戶端驗(yàn)證:JQuery Validation
- 富文本在線編輯:summernote
- 數(shù)據(jù)表格:bootstrapTable
- 彈出層:layer
- 樹結(jié)構(gòu)控件:jsTree
3、平臺(tái)
- 服務(wù)器中間件:SpringBoot內(nèi)置
- 數(shù)據(jù)庫支持:目前僅提供MySql數(shù)據(jù)庫的支持,但不限于數(shù)據(jù)庫
- 開發(fā)環(huán)境:Java、Eclipse Java EE 、Maven 、Git
安全考慮
- 開發(fā)語言:系統(tǒng)采用Java 語言開發(fā),具有卓越的通用性、高效性、平臺(tái)移植性和安全性。
- 分層設(shè)計(jì):(數(shù)據(jù)庫層,數(shù)據(jù)訪問層,業(yè)務(wù)邏輯層,展示層)層次清楚,低耦合,各層必須通過接口才能接入并進(jìn)行參數(shù)校驗(yàn)(如:在展示層不可直接操作數(shù)據(jù)庫),保證數(shù)據(jù)操作的安全。
- 雙重驗(yàn)證:用戶表單提交雙驗(yàn)證:包括服務(wù)器端驗(yàn)證及客戶端驗(yàn)證,防止用戶通過瀏覽器惡意修改(如不可寫文本域、隱藏變量篡改、上傳非法文件等),跳過客戶端驗(yàn)證操作數(shù)據(jù)庫。
- 安全編碼:用戶表單提交所有數(shù)據(jù),在服務(wù)器端都進(jìn)行安全編碼,防止用戶提交非法腳本及SQL注入獲取敏感數(shù)據(jù)等,確保數(shù)據(jù)安全。
- 密碼加密:登錄用戶密碼進(jìn)行SHA1散列加密,此加密方法是不可逆的。保證密文泄露后的安全問題。
- 強(qiáng)制訪問:系統(tǒng)對(duì)所有管理端鏈接都進(jìn)行用戶身份權(quán)限驗(yàn)證,防止用戶直接填寫url進(jìn)行訪問。
演示地址
www.bootdo.com
gitee地址
https://gitee.com/lcg0124/bootdo