Jakarta EE 12 教學手冊 文件資訊 項目 說明 文件名稱 Jakarta EE 12 教學手冊 版本 2.0.0 更新日期 2026-05-14 作者 架構團隊 目標對象 Java 後端工程師、架構師、DevOps 工程師、Tech Lead 前置知識 Java SE 基礎、Maven 基礎、SQL 基礎、HTTP 協定基礎 Jakarta EE 12 狀態 開發中(WIP),預計 2026 年下半年正式發布 Java 最低版本 Java SE 21 官方網站 jakarta.ee 規格發布頁 Jakarta EE 12 Release 目錄 Jakarta EE 12 概觀 1.1 Jakarta EE 歷史與演進 1.2 Jakarta EE 12 定位 — Data Age 1.3 Jakarta EE 12 核心特色 1.4 Jakarta EE 12 治理模式與社群驅動 1.5 與 Spring Boot 比較 1.6 適合與不適合的應用場景 1.7 實務注意事項 Jakarta EE 12 核心架構 2.1 Platform、Web Profile、Core Profile 2.2 模組化架構與規格關係圖 2.3 Jakarta EE Runtime 2.4 Jakarta EE 12 完整規格清單 2.5 候選與前瞻規格 2.6 TCK 認證與相容實作 2.7 實務注意事項 Java 21 與 Java 25 3.1 為何 Jakarta EE 12 要求 Java 21 3.2 Virtual Thread(虛擬執行緒) 3.3 Structured Concurrency(結構化並行) 3.4 Record 與 Pattern Matching 3.5 Sequenced Collection 與 Scoped Values 3.6 Java 25 新特性 3.7 JVM 調校建議 3.8 實務注意事項 開發環境建置 4.1 JDK 21 安裝 4.2 Maven 與 Gradle 安裝 4.3 IDE 設定 — VS Code 與 IntelliJ IDEA 4.4 Docker Desktop 與 Podman 4.5 Kubernetes 與 kubectl 4.6 Jakarta EE Starter 快速建立 4.7 實務注意事項 Jakarta EE 12 Application Server 5.1 Open Liberty 5.2 Payara 5.3 WildFly 5.4 GlassFish 5.5 四大 Server 比較表 5.6 選型建議 5.7 實務注意事項 Maven 專案建立 6.1 Multi Module 專案架構 6.2 Parent POM 設計 6.3 各層模組 POM 6.4 dependencyManagement 與 pluginManagement 6.5 Maven Archetype 6.6 實務注意事項 Clean Architecture 7.1 Domain Driven Design(DDD) 7.2 Hexagonal Architecture 7.3 Clean Architecture 原則 7.4 Ports and Adapters 7.5 Repository Pattern 與 Service Layer 7.6 完整專案目錄結構 7.7 實務注意事項 Jakarta CDI 5.0 8.1 Dependency Injection 基礎 8.2 Bean Scope 8.3 Eager Initialization 8.4 Producer 與 Qualifier 8.5 Interceptor 與 Decorator 8.6 Event 機制 8.7 BuildCompatibleExtension 8.8 實務注意事項 Jakarta RESTful Web Services 5.0 9.1 REST API 設計原則 9.2 JSON-B 3.1 與資料綁定 9.3 Bean Validation 4.0 9.4 Exception Handling 9.5 CRUD API 完整實作 9.6 分頁、排序與過濾 9.7 OpenAPI 整合 9.8 JWT Security 9.9 實務注意事項 Jakarta Persistence 4.0 10.1 JPA 核心概念 10.2 Entity 設計 10.3 Repository Pattern 實作 10.4 Transaction 管理 10.5 Lock 策略 10.6 Lazy Loading 與效能 10.7 Query 最佳化 10.8 實務注意事項 Jakarta Data 1.1 11.1 Jakarta Query 1.0 統一查詢語言 11.2 Fluent Query 與動態限制條件 11.3 Repository 抽象化與狀態管理 11.4 Record Projection 與 NoSQL 支援 11.5 與 Spring Data JPA 比較 11.6 實務注意事項 Jakarta Security 5.0 12.1 Security 5.0 架構重構 12.2 JWT 實作 12.3 OAuth2 與 OpenID Connect 12.4 RBAC 角色存取控制與 Permission Store 12.5 多重認證機制 12.6 API Security 12.7 OWASP Top 10 防護 12.8 Secure Coding 實務 12.9 實務注意事項 Jakarta Concurrency 3.2 13.1 ManagedExecutorService 13.2 Async Processing 13.3 Virtual Thread 整合 13.4 高併發設計模式 13.5 實務注意事項 Jakarta Batch 2.2 14.1 批次架構概觀 14.2 Job 與 Step 設計 14.3 Chunk Processing 14.4 Retry 與 Skip 策略 14.5 Parallel Processing 14.6 實務注意事項 Cache 與 MQ 15.1 Redis 整合 15.2 Kafka 整合 15.3 RabbitMQ 整合 15.4 Jakarta Messaging 3.1 15.5 實務注意事項 Kubernetes 與雲原生 16.1 Dockerfile 設計 16.2 Kubernetes Deployment 16.3 Service 與 Ingress 16.4 ConfigMap 與 Secret 16.5 HPA 與 Rolling Update 16.6 HTTP/3 支援 16.7 實務注意事項 MicroProfile 與 Jakarta Config 17.1 Config 17.2 Jakarta Config 1.0(候選) 17.3 Health 17.4 Metrics 17.5 OpenAPI 17.6 JWT Propagation 17.7 Fault Tolerance 17.8 實務注意事項 CI/CD 18.1 GitHub Actions 18.2 Jenkins Pipeline 18.3 SonarQube 整合 18.4 Trivy 與 OWASP Dependency Check 18.5 SBOM 產生與 CRA 合規 18.6 實務注意事項 SSDLC 19.1 Secure SDLC 概觀 19.2 SAST 靜態分析 19.3 DAST 動態測試 19.4 Dependency Scan 19.5 Container Scan 與 Secret Scan 19.6 實務注意事項 AI 協作開發 20.1 Jakarta Agentic AI 1.0(前瞻規格) 20.2 GitHub Copilot 整合 20.3 Claude 與 ChatGPT 協作 20.4 Gemini 整合 20.5 AI 輔助開發工作流 20.6 實務注意事項 Monitoring 與維運 21.1 Prometheus 監控 21.2 Grafana 視覺化 21.3 ELK Stack 21.4 OpenTelemetry 與 Distributed Tracing 21.5 實務注意事項 Testing 22.1 JUnit 5 22.2 Mockito 22.3 Testcontainers 22.4 Integration Test 22.5 API Test 22.6 實務注意事項 Migration 23.1 Java EE → Jakarta EE 23.2 Jakarta EE 10/11 → Jakarta EE 12 23.3 Spring Boot → Jakarta EE 23.4 Eclipse Transformer 工具 23.5 實務注意事項 大型企業最佳實務 24.1 銀行業案例 24.2 保險業案例 24.3 電商平台案例 24.4 政府系統案例 24.5 SaaS 平台案例 24.6 實務注意事項 團隊建立指南 25.1 Team Topology 25.2 技能矩陣與學習路線 25.3 培訓方式與 Code Review 規範 25.4 實務注意事項 DevSecOps 與 Git Flow 26.1 Branch Strategy 26.2 Git Flow vs Trunk Based Development 26.3 Release Strategy 26.4 實務注意事項 上線與維運 27.1 Production Deployment 27.2 Blue-Green 與 Canary 部署 27.3 Rollback 策略 27.4 DR、Backup 與 HA 27.5 實務注意事項 效能調校 28.1 JVM Tuning 28.2 GC Tuning 28.3 Connection Pool 調校 28.4 SQL Optimization 28.5 Thread Pool 設計 28.6 實務注意事項 常見問題 FAQ Troubleshooting 30.1 啟動問題 30.2 記憶體問題 30.3 Kubernetes 問題 30.4 JDBC 問題 30.5 Transaction 問題 Appendix 31.1 完整 Parent POM 31.2 Dockerfile 31.3 docker-compose.yml 31.4 Kubernetes YAML 31.5 GitHub Actions YAML 31.6 Jenkinsfile 31.7 Logging Configuration Jakarta EE 12 框架比較 32.1 Jakarta EE 12 vs Spring Boot 4 32.2 Jakarta EE 12 vs Quarkus 32.3 Jakarta EE 12 vs Micronaut 32.4 Jakarta EE 12 vs Helidon 32.5 選型建議 檢查清單(Checklist) 1. Jakarta EE 12 概觀 1.1 Jakarta EE 歷史與演進 從 J2EE 到 Jakarta EE 的二十年旅程 企業級 Java 的歷史可以追溯到 1999 年 Sun Microsystems 推出的 J2EE(Java 2 Platform, Enterprise Edition)。這二十多年的演進歷程,是理解 Jakarta EE 12 定位的關鍵脈絡。
...