Jeecg-P3 是一款輕量級、插件化的 Java 快速開發框架,核心理念:「業務組件以 JAR 包形式提供,插件模式、鬆耦合、可插拔、支持獨立部署,亦可無縫集成 Jeecg 主平台」。
jeecg-p3-parent (聚合父工程) ├── jeecg-p3-web # 啟動主工程 (WAR/JAR) ├── jeecg-p3-biz-demo # 插件演示工程 (JAR) └── jeecg-p3-biz-* # 其它業務插件 (JAR)
| 特性 | 說明 |
|---|---|
| 插件化架構 | 業務模塊打包為 JAR,主工程通過 Maven 依賴引入,啟動時自動掃描註冊 Controller/Service/Mapper |
| Velocity 模板 | 強制使用 .vm 模板,邏輯與視圖分離,支持指令、宏、佈局復用 |
| MiniDAO | 基於 Spring JDBC 封裝,支持注解映射、分頁、動態 SQL,輕於 MyBatis |
| 代碼生成器 | 根據表結構生成 Entity/Service/DAO/Controller/VM 頁面,支持單表、一對多模型 |
| 權限體系 | RBAC 模型:用戶-角色-菜單-按鈕-數據權限,集成 Shiro |
| 在線開發 | Online Coding:配置表單、列表、查詢無需寫代碼 |
| 多租戶/SaaS 就緒 | 插件隔離、數據權限隔離、獨立部署能力 |
# 1. 創建數據庫
CREATE DATABASE jeecg_p3 DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;
# 2. 執行腳本
source jeecg-p3-web/doc/sql/jeecg-p3-mysql.sql;
# jeecg-p3-web/src/main/resources/dbconfig.properties
jdbc.driver=com.mysql.cj.jdbc.Driver
jdbc.url=jdbc:mysql://localhost:3306/jeecg_p3?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=false&serverTimezone=Asia/Shanghai
jdbc.username=root
jdbc.password=123456
cd jeecg-p3-parent
mvn clean install -DskipTests
# 會將 jeecg-p3-biz-demo 等插件安裝到本地倉庫,主工程依賴才能解析
jeecg-p3-web 的 Main 類 / Tomcat 插件 tomcat:run。cd jeecg-p3-web && mvn tomcat7:run。https://localhost:8080/jeecg-p3-web/p3/wxActInvite.do?listhttps://localhost:8080/jeecg-p3-web/p3/auth.do?listjar 打包),添加 jeecg-p3-web 依賴 (provided)。src/main/resources/vm/。pom.xml 添加依賴:<dependency>
<groupId>org.jeecg.p3</groupId>
<artifactId>jeecg-p3-biz-yourmodule</artifactId>
<version>1.0.0</version>
</dependency>
jeecg-p3-web/src/main/java/util/P3CodeGenerateUtil.javajeecg-p3-web/src/main/resources/p3-cg-config.properties (配置表名、包路徑、作者等)jeecg-p3-web/src/main/resources/p3/cg/template/ftl/ (FreeMarker 模板,可二次開發)P3CodeGenerateUtil.main() 即可生成全套代碼至指定目錄。| 優點 | 缺點/注意點 |
|---|---|
| 插件隔離極佳,適合 SaaS 多租戶 | Velocity 模板語法學習成本,非主流 |
| 代碼生成器覆蓋 80%+ CRUD | MiniDAO 生態較 MyBatis 窄,複雜 SQL 需手寫 |
| 輕量啟動快,無冗餘依賴 | 社區活躍度一般,文檔不夠系統化 |
| 無縫集成 Jeecg 主平台 | 版本升級需注意插件兼容性 |
Jeecg-P3 以「插件化、輕量、代碼生成」三大核心優勢,為中小型企業級應用、SaaS 產品提供了極具性價比的開發框架選擇。若團隊接受 Velocity 模板、追求極致開發效率與模塊解耦,值得嘗試;若偏好主流技術棧(Thymeleaf/MyBatis Plus/ Spring Boot),可參考其插件化思想自研適配。