再談SpringSide 2.0
Posted on 2007-12-24 21:06 京山游俠 閱讀(5351) 評論(8) 編輯 收藏 所屬分類: SpringSide開發(fā)實(shí)戰(zhàn)寫SpringSide方面的隨筆,已經(jīng)是幾個(gè)月以前的事情了,中間有一段時(shí)間SpringSide逐漸被大家淡忘了。最近我發(fā)現(xiàn),居然有人還在看我的博客,在問我SpringSide 2.0怎么沒有m1版下載,我很高興。SpringSide 2.0推出rc1版本已經(jīng)很久了。什么是rc版呢?就是正式版的候選版本,從rc版開始,就不會(huì)再添加新的功能了,有的只是修正Bug的工作,因此,從功能上講,可以認(rèn)為這就是正式版。
另外一個(gè)激動(dòng)人心的消息就是SpringSide 3.0已經(jīng)正式啟動(dòng)。因此,我決定在SpringSide 3.0推出之前,再進(jìn)一步的搞一搞這個(gè)2.0 rc1版。
使用SpringSide的先決條件,要安裝JDK 1.5或以上的版本,要設(shè)置JAVA_HOME環(huán)境變量,要安裝Eclipse IDE,我使用的是3.2版。
第一步,先下載SpringSide 2.0-RC1-all in one,下載地址如下圖。下載后解壓縮,我解壓后存放SpringSide的目錄為D:\SpringSide2.0\,然后,運(yùn)行該目錄中的springside.bat批處理文件,構(gòu)建SpringSide項(xiàng)目,并可以看到SpringSide提供的兩個(gè)示例應(yīng)用。
第二步,將D:\SpringSide2.0\tools\springside-ide\target\eclipse\plugins目錄中的org.springside.ide_1.0.0拷貝到Eclipse的plugins目錄中。
第三步,打開Eclipse IDE,點(diǎn)菜單“窗口”-〉“首選項(xiàng)”,在彈出的窗口中設(shè)置SpringSide2 Home,如下圖:
然后,就可以在創(chuàng)建項(xiàng)目的時(shí)候選擇SpringSide項(xiàng)目了,如下圖:
按照向?qū)Ю^續(xù),會(huì)有一個(gè)選擇組件的步驟,選擇需要的組件即可。在這里,我只選擇了Hibernate、Struts等幾個(gè)我用得到的組件。其他的組件以后需要的時(shí)候再添加吧。
看一下目錄結(jié)構(gòu),發(fā)現(xiàn)SpringSide2.0-RC1版本的目錄結(jié)構(gòu)比M1版要清晰得多,bin目錄里面存放的都是ant腳本文件和bat批處理文件,構(gòu)建項(xiàng)目的時(shí)候,可以根據(jù)需要選擇運(yùn)行其中不同的腳本。其中的ant構(gòu)建腳本在Eclipse中可以直接運(yùn)行,而bat批處理文件,可以將它們定義為Eclipse的外部工具而運(yùn)行。有時(shí)候,為了加快工作速度,我也寫一些批處理文件,也放到這個(gè)目錄中,也定義為Eclipse的外部工具運(yùn)行。src目錄存放Java源代碼,test目錄存放測試代碼,webapp目錄存放Web項(xiàng)目中用到的其它資源。
再來說一下這里提供的quickstart.bat批處理,這個(gè)批處理的作用是快速的編譯、部署和啟動(dòng)項(xiàng)目,在這個(gè)過程中,它同時(shí)包含了啟動(dòng)Tomcat服務(wù)器和啟動(dòng)瀏覽器的動(dòng)作。我在開發(fā)中經(jīng)常要觀察一些小修改的運(yùn)行效果,如果每次都運(yùn)行quickstart.bat會(huì)非常浪費(fèi)時(shí)間。quickstart.bat的另外一個(gè)致命缺點(diǎn)就是它里面沒有包含停止Tomcat服務(wù)器的動(dòng)作,所以如果多次運(yùn)行該批處理就會(huì)出錯(cuò)。因此,我需要定義兩個(gè)Eclipse的外部工具,它們分別是Tomcat服務(wù)器自己的啟動(dòng)和停止腳本。如下圖:
進(jìn)行了這些改進(jìn)后,還有一點(diǎn)小問題需要解決,那就是Tomcat服務(wù)器在啟動(dòng)的時(shí)候有不少的錯(cuò)誤信息,雖然不影響使用,但是看起來不爽。經(jīng)過我的分析,發(fā)現(xiàn)是在創(chuàng)建Hibernate的SessionFactory的時(shí)候出錯(cuò),也就是說是數(shù)據(jù)庫沒有配置好。因此,在項(xiàng)目中修改這樣兩個(gè)文件:
1、src\resources\config\jdbc.properties 改的是使用的數(shù)據(jù)庫驅(qū)動(dòng)、連接屬性和用戶名及密碼;
src\resources\spring\dataAccessContext-hibernate.xml 改的是hibernate.dialect屬性。
同時(shí),SpringSide 2.0的另外一個(gè)缺陷就是沒有包含MySQL的JDBC驅(qū)動(dòng),因此,我不得不到MySQL的官方網(wǎng)站上去下載mysql-connector-java-5.0.8.jar,將下載到的文件放到我的項(xiàng)目的webapp\WEB-INF\lib目錄下。至于怎么安裝MySQL數(shù)據(jù)庫,我就不廢話了。
最后,總結(jié)一下,使用SpringSide 2.0開始一個(gè)項(xiàng)目是很簡單的,要解決的問題主要有以下兩點(diǎn):
1、quickstart.bat腳本不夠快,也不能夠重復(fù)啟動(dòng),需要單獨(dú)暴露tomcat.start和tomcat.stop以及tomcat.deploy任務(wù),希望SpringSide團(tuán)隊(duì)在3.0版中修正這個(gè)問題;
2、沒有MySQL數(shù)據(jù)庫的JDBC驅(qū)動(dòng),需要單獨(dú)下載安裝;
3、需要修改數(shù)據(jù)庫的連接屬性,使用自己順手的的數(shù)據(jù)庫。
做完這些修改之后,運(yùn)行quickstart.bat,就可以看到熟悉的Hello World應(yīng)用了。