現在的Web應用開發人員是幸福的,有如此多的選擇,Web層有Sturts2、JSF、Spring MVC、Tapestry等,持久層可以選擇Hibernate、iBATIS或者JPA等,還有極為強大的Spring作為粘合劑,完美地運行時自動創 建所需的一切對象(依賴注入)。然而我們這些開發人員也是不幸的,因為要讓一切完美的運行有太多太多的配置——XML、Annotation甚至是 Properties檔案。當開始一個新項目時,要搭建起一個能正常運行、能真正簡化開發、能真正實現模組化開發的Web應用開發骨架太難了,更不用說還 要加入DbUnit等自動化的測試架構。
但是有了Appfuse,一切變得簡單起來,Appfuse是一個開源的Web應用骨架產生工具,支援上文提到的任何一種開發工具的組合,包括Web Services、工作流程、任務調度等,能方便的產生Web開發中常用CRUD骨架,夠誘人了吧。
吹了這麼多,Appfuse其實很簡單,你甚至不需要下載,因為她實質上是一個Maven外掛程式,你運行mvn命令時,maven會自動幫你搞定任何事情,也就是說你只需要知道命令就行了,而且實際上你也不需要記住命令,http://appfuse.org/display/APF/AppFuse+QuickStart+-+Chinese 這個頁面可以協助你產生命令,而且是中文的,雖然翻譯得不怎麼樣,不過看得懂。
選擇好你需要的Web架構,將它幫你產生的mvn命令直接複製到命令列中,如果你已經按http://appfuse.org/display/APF/Development+Environment 配置好了環境變數的話,你可以看到maven開始下載一切需要的東西了。其實配置環境變數沒有說得那麼複雜,只需要將JDK、Maven、MySQL的bin目錄都加入到path裡面就行了,linux的使用者請自己摸索一下,我不是很懂。
其實上面這些如果你是標準SSH(Struts2+Spring+Hibernate架構)還有一個選擇就是Springside, 國人開發的,異常不錯,強烈推薦,個人認為在SSH方面比Appfuse要更好一些。不過Appfuse還有個絕招,它還提供了一個VMWare 虛擬機器鏡像,可以直接下下來,裡面已經裝好了Subversion(版本控制), CruiseControl(持續整合工具) 和Trac(bug追蹤工具以及wiki),不過我沒有嘗試,不知道具體使用起來怎麼樣。