??????以前聽很多人說Appfuse好,但一直沒時間看看,也因為是外國人的東西,文檔主要還是英文的。后來看了SpringSide(國人寫的同類框架,其實我更愿意稱他們為Auto Build Tools),國人寫的,文檔好讀。確實發現這類Tools確實是好,好在哪里?主要不是說他們有多方便,讓你開發省多少事,而是他們有一個共同特點:使用業界最新、最好、最流行的技術和相關框架程序,并且他們都是最佳實踐(Best Practises),更重要的是配備了相當簡單易懂但重點突出的文檔。是學習和使用最新、最好、最流行技術的最好幫手,讓你很快上手,免去了一個很漫長的去粗取精的過程。
??????就象SpringSide的Wiki文檔,我覺得是不可不讀的好東西,雖然不深入,但基本上涵蓋了現在最好用的技術并給予了重點突出的講述。但SpringSide跟Appfuse比起來在規模上還是有相當大的差距,就從框架而言Appfuse基本上涵蓋了所有的主流框架的組合。并且Appfuse對框架封裝的更少,生成的代碼更容易學習。我覺得這是SpringSide從某個角度來講不太好的地方。Appfuse的Wiki中文頁也在不斷的完善中,所以如果你想學習那些最好最流行的東西吐血推薦玩一玩Appfuse(用Appfuse真的象玩一樣,跑一跑腳本程序就好了,呵呵)。
??????利用春節在家的時間也剛好因為一個項目的原因比較全面的學習了一下Appfuse,確實滿好用的。我用的是WebWork2+Spring2+iBATIS2的組合,對于簡單需求基本上能完成80%+的代碼,不過也發現了兩處比較嚴重的BUG,貼出來大家注意一下,也免得自己忘記了。
?????
?我使用的是appfuse-webwork-1.9.4的版本,使用WebWork2+Spring2+iBATIS2組合。?1. 生成的WebWork2部分的一個定義驗證器的文件有錯。??????即WEB-INF/classes/validators.xml文件,Appfuse把它象用戶自定義的驗證文件一樣加了一個dtd標簽:
<!DOCTYPE?validators?PUBLIC?"-//OpenSymphony?Group//XWork?Validator?1.0//EN"?"http://www.opensymphony.com/xwork/xwork-validator-1.0.dtd">??????而在這個文件里是不能加的,我測試的在WINDOWS XP下沒有問題,但是到WINDOWS 2000下就會報錯。
2. iBATIS的SQL MAP文件的updata語句的輸入parameterMap有錯。??????Appfuse會把id屬性生成為第一個,而updata statment中是按照順序來取參數的,一般情況下id屬性都是作為最后一個參數被傳入,所以會報錯。如下代碼:
1
????<parameterMap?id="updateParam"?class="tbaccidentType">
2??????????????<parameter?property="typeid"?jdbcType="INTEGER"?javaType="java.lang.Integer"/>
3
??????????<parameter?property="name"?jdbcType="VARCHAR"?javaType="java.lang.String"/>
4
????</parameterMap> ??????這張表中主鍵為typeid,有一個屬性為name,而updata statment代碼如下:
1
????<update?id="updateTbaccidentType"?parameterMap="updateParam">
2
????<![CDATA[
3
????????update?tbaccident_type?set
4
???????????????????name?=??
5
????????where?typeid?=??
6
????]]>
7
????</update> ??????很顯然,id應該是在最后傳進去。
??????我對Appfuse研究時間也不長,就發現這兩個bug,可能STRUTS+SPRING+HIBERNATE用的人最多吧,WEBWORK和iBATIS用的人比較少,存在BUG的可能性比較大,不過作為學習其實還是希望碰到些BUG,沒有BUG也不能叫程序了,希望Appfuse能發展的更好,真是感慨和佩服作者對各種框架的了解程度。
??????吐血推薦:Appfuse!
posted on 2007-02-28 20:52
cresposhi 閱讀(1985)
評論(4) 編輯 收藏