JeeSite
JeeSite安裝教程
JeeSite(快速開發(fā)平臺),不僅僅是一個后臺開發(fā)框架,它是一個企業(yè)級快速開發(fā)解決方案,基于 Spring Boot、Spring MVC、Shiro、MyBatis、Beetl、Bootstrap、AdminLTE 在線代碼生成功能,采用經典開發(fā)模式,讓初學者能夠更快的入門并投入到團隊開發(fā)中去。
架構特點
以 Spring Boot 2 為基礎,Maven 多項目依賴,模塊分項目,松耦合,方便模塊升級、增減模塊。
模塊化的數據庫自動升級程序,當模塊升級代碼需要更新數據庫時,自動執(zhí)行對應版本 SQL 腳本。
功能授權模塊靈活,按鈕級別,支持 單點登錄、第三方登錄,豐富的擴展模塊,簡單 yml 配置即可實現。
支持多數據源,深入 MyBatis 底層事務,從 DAO 層切換多數據源,方便快捷,徹底的解決必須從 Controller 里切換數據源的麻煩。并且支持,分布式事務,跨應用級別的事務,簡單 yml 配置即可實現。
數據表主鍵優(yōu)化思想,如分類科目表,采用有意義的主鍵方式,讓客戶去自定義,減少后期運維維護成本。
獨創(chuàng) @Table 注解(優(yōu)于MyBatis-Plus)在 MyBatis 基礎上 Dao 層封裝:
自動生成增刪改 SQL,不需要在 mapper.xml 里寫重復又費時的 SQL 了,減少開發(fā)和后期維護成本。
列表查詢條件通過實體自動生成,不用你寫各式各樣的 *Wrapper、手寫字段名、if判斷查詢條件等。
所有列 @Column 定義均放到類頭,而不是分布到各個屬性或方法上,非常好,主要是有如下原因:
一是,放到表頭的好處是,可一覽熟知該實體類對應的物理表結構是什么樣,開發(fā)者思維從物理表結構到對象的映射轉換,都是基于物理表結構的,減少后期代碼分析的維護成本,@Column 指定物理字段名,而不是指定類上的屬性名,也是這個原因;
二是,生成的 SQL 和查詢條件,可定義列的排列順序,方便核查定義,優(yōu)化查詢,提升性能;
三是,方便 @JoinTable 關聯表和其它擴展信息的設置,如果分布到類的屬性上就不太好管理列。
數據權限:不僅僅是角色,顆粒度細化到每個人員的身上,可自定義第三方數據權限,不僅僅是部門和公司,你可以擴展,如:地區(qū),欄目分類,商品分類,無需讓你多寫代碼,簡單調用即可實現復雜的數據權限控制。并且支持跨應用、跨進程的微服務級別的數據權限控制。
緩存監(jiān)控:采用 J2Cache 二級緩存,支持快速切換為 Redis 緩存,支持集群 Session 和系統(tǒng)緩存共享。
服務器監(jiān)控,查看 CPU,內存,JVM,磁盤信息等。方便運維人員分析系統(tǒng)負載情況。
支持 SAAS 多租戶模式:每個租戶數據通過 corp_code 字段進行分離,數據互不干擾。
支持 Spring Cloud 架構:分布式,微服務,最小化內核,統(tǒng)一配置中心,統(tǒng)一授權認證中心。
樹結構的圖特設計:提高運維、數據分析、優(yōu)化查詢。
多用戶類型支持:員工、會員、專家、往來單位等。
豐富的內置功能:用戶權限、數據權限、系統(tǒng)管理。
定時任務在線配置,界面化生成 cron 表達式,支持集群環(huán)境自適應,調度日志監(jiān)控。
BPM 業(yè)務流程模塊:基于 Flowable,支持退回、自由流、會簽等高級應用。
在線預覽系統(tǒng):文件管理、在線預覽圖片、文檔、文本、視頻等格式
消息推送:APP、短信、郵件、微信,你無需了解消息是怎么發(fā)送出去的,只需了解消息發(fā)送接口即可。
提供豐富的移動端接口、第三方系統(tǒng)調用接口,輕松實現授權認證、數據調用(支持 json、xml 等格式)
國際化的支持,頁面標簽國際化,字典菜單國際化,數據國際化(中文、英語、日語等),可以使用中文key方便后期維護。
在線代碼生成工具,操作簡化及優(yōu)化,支持多數據源(單表、主子表、樹表、Cloud等模板,支持自由擴展)。
文件上傳組件,支持分片上傳,斷點續(xù)傳下載,上傳上傳排序、預覽、圖片壓縮等。
集成云存儲客戶端模塊,已支持:阿里云OSS、騰訊云COS、七牛云、MinIO
在線查詢在線人員,強踢在線賬號。
提供豐富的在線文檔及案例。