今天已經進入項目的尾聲了,足足忙活了一個月。從搭建工作環境,然後熟悉業務流程、工作計劃、進度控制等等項目相關的東東開始,到今天一個功能完備的管理系統已經出現在我的眼前,感到一種成就感。
想一想,起初對STRUTS只停留在書本的認識上,也就是能夠看個明白,不過經過這個月的摸爬滾打也算有些入門了,也了解了STRUTS項目是如何進行開發的。記得第一天開工作計劃是這樣的:先是開發數據庫值對象(VO)-數據庫訪問對象(DAO)-DAO的測試用例-業務邏輯對象(BO)-BO的測試用例-JSP頁面-ACTIONFORM-ACTION。大概是這樣的一個流程吧,現在分別說一下各個階段是如何進行的。
(1)VO對象:從整體上看,感覺和FORMBEAN很類似,可以說是一樣的,只不過是層次不同而已。在VO中也都是一些屬性以及他們的setter、getter方法,其他的什麼也不需要;一個VO對應一張數據庫表,每個屬性就是一個字段,主要是對應好數據類型,其實值得注意的就是數據庫裡的時間類型(DATE),這點也是我在這個小項目裡感到比較頭痛的問題。
(2)DAO對象:就是數據訪問對象,完成一些基本數據增刪改操作。這個項目中,我們編寫的DAO都繼承自一個積累BasicDAO,裡面寫了幾個虛接口,提供查詢的功能。這個地方要留意的就是一個線程安全的問題,需要保證每個DAO只能有一個實例存在,因此使用了單子模式(SINGLETON)來完成。
(3)BO對象:感覺BO對象只是封裝了DAO層的一些接口,提供給Action調用,如update,delete等等,可能是我的業務模塊中業務不是很復雜,知識簡單的增刪改操作,因此沒有體現出BO層的魅力。
(4)Juint Test測試用例:這個東西還是滿有意思的。大概了解了一下,每個測試用例都要繼承自junit.framework.TestCase,主要的方法就是setUp(),tearDown(),testXXX()。
(5)ActionForm和Action:感覺用JBuilder開發還是方便了不少的,可以通過JSP頁面自動生成ActionForm然後在生成Action。
通過這次項目,還是學到了很多東西,如Struts-config的配置,國際化資源的配置等等。