Posted on 2007-12-24 21:06
京山游俠 閱讀(5344)
評論(8) 編輯 收藏 所屬分類:
SpringSide開發實戰
寫SpringSide方面的隨筆,已經是幾個月以前的事情了,中間有一段時間SpringSide逐漸被大家淡忘了。最近我發現,居然有人還在看我的博客,在問我SpringSide 2.0怎么沒有m1版下載,我很高興。SpringSide 2.0推出rc1版本已經很久了。什么是rc版呢?就是正式版的候選版本,從rc版開始,就不會再添加新的功能了,有的只是修正Bug的工作,因此,從功能上講,可以認為這就是正式版。
另外一個激動人心的消息就是SpringSide 3.0已經正式啟動。因此,我決定在SpringSide 3.0推出之前,再進一步的搞一搞這個2.0 rc1版。
使用SpringSide的先決條件,要安裝JDK 1.5或以上的版本,要設置JAVA_HOME環境變量,要安裝Eclipse IDE,我使用的是3.2版。
第一步,先下載SpringSide 2.0-RC1-all in one,下載地址如下圖。下載后解壓縮,我解壓后存放SpringSide的目錄為D:\SpringSide2.0\,然后,運行該目錄中的springside.bat批處理文件,構建SpringSide項目,并可以看到SpringSide提供的兩個示例應用。

第二步,將D:\SpringSide2.0\tools\springside-ide\target\eclipse\plugins目錄中的org.springside.ide_1.0.0拷貝到Eclipse的plugins目錄中。
第三步,打開Eclipse IDE,點菜單“窗口”-〉“首選項”,在彈出的窗口中設置SpringSide2 Home,如下圖:

然后,就可以在創建項目的時候選擇SpringSide項目了,如下圖:

按照向導繼續,會有一個選擇組件的步驟,選擇需要的組件即可。在這里,我只選擇了Hibernate、Struts等幾個我用得到的組件。其他的組件以后需要的時候再添加吧。

看一下目錄結構,發現SpringSide2.0-RC1版本的目錄結構比M1版要清晰得多,bin目錄里面存放的都是ant腳本文件和bat批處理文件,構建項目的時候,可以根據需要選擇運行其中不同的腳本。其中的ant構建腳本在Eclipse中可以直接運行,而bat批處理文件,可以將它們定義為Eclipse的外部工具而運行。有時候,為了加快工作速度,我也寫一些批處理文件,也放到這個目錄中,也定義為Eclipse的外部工具運行。src目錄存放Java源代碼,test目錄存放測試代碼,webapp目錄存放Web項目中用到的其它資源。
再來說一下這里提供的quickstart.bat批處理,這個批處理的作用是快速的編譯、部署和啟動項目,在這個過程中,它同時包含了啟動Tomcat服務器和啟動瀏覽器的動作。我在開發中經常要觀察一些小修改的運行效果,如果每次都運行quickstart.bat會非常浪費時間。quickstart.bat的另外一個致命缺點就是它里面沒有包含停止Tomcat服務器的動作,所以如果多次運行該批處理就會出錯。因此,我需要定義兩個Eclipse的外部工具,它們分別是Tomcat服務器自己的啟動和停止腳本。如下圖:


進行了這些改進后,還有一點小問題需要解決,那就是Tomcat服務器在啟動的時候有不少的錯誤信息,雖然不影響使用,但是看起來不爽。經過我的分析,發現是在創建Hibernate的SessionFactory的時候出錯,也就是說是數據庫沒有配置好。因此,在項目中修改這樣兩個文件:
1、src\resources\config\jdbc.properties 改的是使用的數據庫驅動、連接屬性和用戶名及密碼;
src\resources\spring\dataAccessContext-hibernate.xml 改的是hibernate.dialect屬性。
同時,SpringSide 2.0的另外一個缺陷就是沒有包含MySQL的JDBC驅動,因此,我不得不到MySQL的官方網站上去下載mysql-connector-java-5.0.8.jar,將下載到的文件放到我的項目的webapp\WEB-INF\lib目錄下。至于怎么安裝MySQL數據庫,我就不廢話了。
最后,總結一下,使用SpringSide 2.0開始一個項目是很簡單的,要解決的問題主要有以下兩點:
1、quickstart.bat腳本不夠快,也不能夠重復啟動,需要單獨暴露tomcat.start和tomcat.stop以及tomcat.deploy任務,希望SpringSide團隊在3.0版中修正這個問題;
2、沒有MySQL數據庫的JDBC驅動,需要單獨下載安裝;
3、需要修改數據庫的連接屬性,使用自己順手的的數據庫。
做完這些修改之后,運行quickstart.bat,就可以看到熟悉的Hello World應用了。