框架概述
AppFuse Server 是一個 Spring Boot 快速開發工具集,提供企業應用程式常用的功能模組。
:::info 版本與升級
安裝前請先從當前發布線取得精確版號,並閱讀
Server Changelog與
框架升級指南;pre-release 的變更累積在
Changelog 的 [Unreleased] 區段。
:::
設計理念
目的:提供可組合的框架能力,而不是替應用決定領域模型與業務政策
原則:框架可以提供基底型別、adapter 與組裝原語;應用自己的 entity、repository、 controller、授權與 availability policy 仍由消費端定義
技術規格
- 框架: Spring Boot
- 語言: Java
- 建構: Gradle (Maven 發佈)
- 打包: JAR Library
實際相容的 Spring Boot 範圍與 Java language level 以 當前發布線為準。
安裝
Gradle (Kotlin DSL)
repositories {
maven { url = uri("https://devops.leandev.io/repository/maven-releases/") }
}
dependencies {
implementation("io.leandev.appfuse.webapp:appfuse-server:REPLACE_WITH_EXACT_VERSION")
}
Gradle (Groovy)
repositories {
maven { url = uri('https://devops.leandev.io/repository/maven-releases/') }
}
dependencies {
implementation 'io.leandev.appfuse.webapp:appfuse-server:REPLACE_WITH_EXACT_VERSION'
}
依賴傳遞
AppFuse Server 使用 api 方式聲明核心依賴,這些依賴會自動傳遞給使用者:
- Spring Boot(actuator、data-jpa、hateoas、mail、quartz、security、OAuth2 resource server、validation、webmvc)
- Ehcache、Apache HttpClient 5、ShedLock 與 JWT API
使用者專案無需重複聲明這些依賴。
功能模組總覽
| 分類 | 模組 | 用途 | 文檔 |
|---|---|---|---|
| 核心工具 | HTTP | HTTP 客戶端工具 | 指南 |
| Cache | 快取管理(標準/雙層) | 指南 | |
| CSV | CSV 讀寫處理 | 指南 | |
| Content | MIME 類型檢測 | 指南 | |
| Document | HTML/純文字文件渲染 | 指南 | |
| Workbook | 試算表讀寫 | 指南 | |
| 數據存儲 | JPA | JPA 查詢建構工具 | 指南 |
| Search | 搜尋過濾查詢 | 指南 | |
| File | 文件存儲(S3、Azure、SFTP、Local) | 指南 | |
| Image | 圖像處理(縮放、轉換) | 指南 | |
| Persistence Encryption | 可取回機密的 at-rest protection 與 key rotation | 指南 | |
| 安全認證 | Security | 登入鎖定防護 | 指南 |
| OAuth2 | OAuth2 認證整合 | 指南 | |
| Tenant | 多租戶數據隔離 | 指南 | |
| Acting | 代理/模擬操作脈絡 | 指南 | |
| Signed Link | 一次性或限時簽章連結 | 指南 | |
| 應用服務 | 郵件發送 | 指南 | |
| NLS | 國際化翻譯 | 指南 | |
| Link | HATEOAS 連結建構 | 指南 | |
| Error | 統一錯誤處理 | 指南 | |
| Scheduling | 排程與叢集鎖 | 指南 | |
| Notification | 多通道通知與 outbox | 指南 | |
| Almanac | 地址、日曆等基礎資料服務 | 指南 |
下一步
參考實作
查看 app-tenant-server 了解如何在實際專案中使用這些工具建構完整的 RESTful 應用程式。