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