首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> Java 程式設計 >> Java 相關知識

選擇 AppFuse 的七大理由:以開源整合加速 Java Web 開發

     編輯:Java 相關知識

AppFuse 是一個開源專案骨架,整合了 Java 平台上最優秀的開源框架,幫助團隊快速啟動 Web 應用開發。它不僅生成目錄結構、依賴庫、建構腳本,更內建認證授權、使用者管理、Remember Me、SSL 切換、檔案上傳、皮膚佈局等「開箱即用」功能,讓開發者專注於業務邏輯而非框架整合。

理由 1:測試優先的完整體系

AppFuse 將測試貫穿各層:

  • 資料庫層:DbUnit 預載測試資料。
  • DAO 層:Spring AbstractTransactionalDataSourceSpringContextTests 自動事務回滾,測試不污染資料。
  • Service 層:jMock 進行真正的單元測試,隔離持久層依賴。
  • Web 層:Spring spring-mock.jar 模擬 Servlet API,測試 Action/Controller/Managed Bean。
  • UI 層:Canoo WebTest + HtmlUnit 自動化驗證頁面元素、表單提交、甚至 Ajax 互動。
  • 持續整合:內建 Cargo 自動啟停 Tomcat,配合 CruiseControl 實現提交即測試。

理由 2:深度預整合的開源棧

AppFuse 精選並預先整合:

類別框架/庫
建構/報表/代碼生成Ant, Ant-Contrib, Checkstyle, EMMA, Java2Html, PMD
測試DbUnit, Dumbster, jMock, JUnit, Canoo WebTest
資料庫驅動MySQL, PostgreSQL
持久層Hibernate, iBATIS
IoCSpring
Web 框架JSF, Spring MVC, Struts, Tapestry, WebWork
Web 服務XFire
Web 工具Clickstream, DisplayTag, DWR, JSTL, SiteMesh, URLRewriteFilter
安全Acegi Security (現 Spring Security)
前端Prototype, Scriptaculous, Mike Stenhouse CSS Framework

所有版本號集中在 lib.properties,升級只需替換 JAR 並調整屬性,如 ant test-all -Dspring.version=2.0。

理由 3:Ant 驅動的全自動化建構

Ant 是一等公民:編譯、測試、部署、代碼生成一條龍。同時支援 Eclipse/IDEA 內建 JUnit 跑測試。AppFuse 2.0 將遷移至 Maven 2 + JDK 5,利用 pom.xml 自動生成 IDE 專案檔,徹底解決 XDoclet 導致的 IDE 感知問題。

理由 4:企業級安全與擴充性

早期自行實現安全功能(Remember Me、密碼提示、SSL 切換等)代碼龐雜。引入 Acegi Security 後,以 175 行 XML 替換大量 Java 代碼,獲得:

  • 認證/授權/角色保護方法/Remember Me/密碼加密/SSL 切換/使用者切換/登出
  • 多種使用者存儲:XML、資料庫、LDAP、CAS、SiteMinder
  • 基於 Spring IoC 的鬆耦合、易測試、可擴充架構

理由 5:AppGen 代碼生成器

基於 Ant + XDoclet + Middlegen/Hibernate Tools:

  • 從資料庫表生成 POJO
  • 從 POJO 生成 DAO、Manager、Web 層代碼與測試
  • ant install-detailed 生成專屬 DAO/Manager;ant install 復用通用 DAO

範例:建立 cat 表 → 執行 ant install-detailed → 修改 Hibernate 映射 → ant setup deploy 即可 CRUD。

理由 6:多語言豐富文檔

  • 核心教程 6 國語言:中文、德文、英文、韓文、葡文、西班牙文
  • UI 翻譯 8 國語言:含中文、荷蘭文、法文、意大利文
  • 擴充教程覆蓋 JasperReports、Lucene、Eclipse、Drools、Axis、DWR 等整合

理由 7:活躍開放社群

2003 年 SourceForge 起家,2004 年遷至 java.net 成為熱門專案。多位提交者(Nathan Anderson, Ben Gill, David Carter 等)持續貢獻。郵件列表秉持「無愚蠢問題」原則,社群知識庫深厚。正如 Bruce Snyder 所言:「為代碼而來,為人們而留下」。

展望:AppFuse 2.0

  • JDK 5 + Maven 2(仍支援部署至 1.4 容器)
  • 模組化 JAR:appfuse-hibernate-2.0.jar, appfuse-jsf-2.0.jar 等
  • 依賴管理全面轉向 Maven,升級更簡單,鼓勵更多貢獻回饋社群

結語

AppFuse 讓團隊站在 Java Web 開發技術前沿,以最小成本獲得測試、整合、自動化、安全、代碼生成、文檔與社群的完整支援。無論是否採用,其樣板代碼與最佳實踐都極具參考價值。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved