日韩黑丝制服一区视频播放|日韩欧美人妻丝袜视频在线观看|九九影院一级蜜桃|亚洲中文在线导航|青草草视频在线观看|婷婷五月色伊人网站|日本一区二区在线|国产AV一二三四区毛片|正在播放久草视频|亚洲色图精品一区

分享

1.2 Spring初探 - 《Spring 2.0寶典》

 iversion 2007-09-15
1.2  Spring初探

Spring的作者是“J2EE實(shí)用主義”倡導(dǎo)者。簡單、實(shí)用也是Spring的追求目標(biāo)。Spring是從實(shí)際開發(fā)中抽取的框架,具有高度的復(fù)用性。Spring涵蓋了大多數(shù)應(yīng)用系統(tǒng)開發(fā)涉及的技術(shù)范疇,包括MVC、ORM以及遠(yuǎn)程訪問等,Spring對這些技術(shù)進(jìn)一步封裝和抽象,使開發(fā)過程更加簡單、清晰。

Spring完成了實(shí)際開發(fā)中需要實(shí)現(xiàn)的設(shè)計(jì)模式:工廠和單態(tài)。使用Spring將意味著:開發(fā)者無須自己提供單態(tài)和工廠模式的實(shí)現(xiàn)。

1.2.1 運(yùn)行Spring所需的環(huán)境

Java語言本身是跨平臺(tái)的,Spring也是跨平臺(tái)的。但Spring需要有JDK的開發(fā)環(huán)境,Spring支持1.3以上的各種JDK版本。筆者所用的代碼全部在JDK1.4上測試通過,因此建議讀者安裝JDK1.4版本。

Web服務(wù)器則采用Tomcat5.0.28。

為了輔助編譯和運(yùn)行程序,筆者開發(fā)過程中也使用到Ant工具,筆者所用的版本是1.6.5

筆者也給出SpringEclipse里的安裝和使用。Eclipse建議使用3.1以上版本。

JDK的安裝此處不再贅述,此處略述TomcatAnt的安裝。

安裝TomcatAnt的前提是:成功安裝、配置JDK的開發(fā)環(huán)境。

1.2.1.1 Tomcat的下載和安裝

1)到HTUhttp://tomcat.UTH下載Tomcat合適的版本,如果使用JDK1.4,則建議使用Tomcat5.0.x系列,而不是使用Tomcat5.5.x系列。

2Windows平臺(tái)下載zip包,Linux下載tar包。

3)解壓縮剛下載到的壓縮包,將解壓縮后的文件夾放到任意路徑下。

4)然后增加JAVA_HOME環(huán)境變量,讓該變量指向JDK的安裝路徑。

注意:Spring并不依賴于任何特定的J2EE應(yīng)用服務(wù)器,因此安裝Tomcat并不是必需的。所有的Web應(yīng)用完全可在Tomcat,Resin,WebLogic,WebSphere上運(yùn)行良好。

1.2.1.2 Ant的下載和安裝

Ant的下載和安裝請按如下步驟進(jìn)行。

1)到http://ant.下載Ant的最新版。以Ant1.6.5為例,下載后解壓縮會(huì)產(chǎn)生一個(gè)文件夾,修改該文件夾的名字為ant165(不修改亦可,但為了簡單起見,建議修改),然后,將該文件夾放在任意路徑即可。

2)增加環(huán)境變量ANT_HOME,該環(huán)境變量指向剛才ant165文件夾所在的全限定路徑。

3)修改環(huán)境變量path,為path增加%ANT_HOME%/bin路徑即可。

經(jīng)過上面步驟,Ant安裝成功。

1.2.2 Spring的下載和安裝

在筆者成書之時(shí),Spring主要有兩個(gè)版本:

q      產(chǎn)品化的1.2.7的穩(wěn)定發(fā)布版

q      開發(fā)者使用的2.0 m4

對于普通的學(xué)習(xí)者,建議使用產(chǎn)品化的穩(wěn)定版。

1.2.2.1下載Spring

http://www.下載Spring的最新穩(wěn)定版。建議下載spring-framework-1.2.7-with-dependencies.zip包,該壓縮包不僅包含Spring的開發(fā)包,而且包含Spring編譯和運(yùn)行所依賴的第三方類庫。

解壓縮下載到的壓縮包,解壓縮后的文件夾下應(yīng)有如下幾個(gè)文件夾:

q      dist:該文件夾下放Springjar包,通常只需要spring.jar文件即可。該文件夾下還有一些類似spring-Xxx.jar的壓縮包,這些壓縮包是spring.jar壓縮包的子模塊壓縮包。除非確定整個(gè)J2EE應(yīng)用只需使用Spring的某一方面,才考慮使用這種分模塊壓縮包。通常建議使用spring.jar。

q      docs:該文件夾下包含Spring的相關(guān)文檔,包含開發(fā)指南,API參考文檔。

q      lib:該文件夾下包含Spring編譯和運(yùn)行所依賴的第三方類庫,該路徑下的類庫并不是Spring必需的,但如果需要使用第三方類庫的支持,這里的類庫就是必需的。

q      samples:該文件夾下包含Spring的幾個(gè)簡單示例,可作為Spring的入門學(xué)習(xí)的案例。

q      src:該文件夾下包含Spring的全部源文件,如果開發(fā)過程有地方無法把握,可以參考該處源文件,了解底層的實(shí)現(xiàn)。

q      test:該文件夾下包含Spring的測試用例,它們可作為學(xué)習(xí)Spring的入門代碼。

q      tiger:該路徑下存放關(guān)于JDK1.5的相關(guān)內(nèi)容。

解壓縮后的文件夾下,還包含一些關(guān)于Springlicense和項(xiàng)目相關(guān)文件。

Spring的安裝,筆者將從兩個(gè)方面進(jìn)行介紹:分別介紹IDE工具:Eclipse里的安裝和使用,以及使用Ant工具的開發(fā)方式。讀者可根據(jù)自己的習(xí)慣自由選擇開發(fā)方式。

1.2.2.2 SpringEclipse中的安裝:

1)新建一個(gè)Spring項(xiàng)目,命名為myspring,如圖1.1所示:

2)單擊“Next”按鈕,然后單擊下一個(gè)對話框中“Finish”按鈕,建立項(xiàng)目成功。

3)右擊Eclipse左邊導(dǎo)航窗口的“myspring”節(jié)點(diǎn),在彈出菜單中選擇“new”菜單項(xiàng),接著出現(xiàn)下一個(gè)菜單,單擊Folder菜單項(xiàng),如圖1.2所示。在彈出對話框的“Folder name文本框中輸入lib。然后單擊“OK”按鈕,添加文件夾成功。添加完文件夾的效果如圖1.3所示。

 

1.1  新建myspring的項(xiàng)目                     1.2 新建文件夾的操作步驟

4Spring的二進(jìn)制包被解壓縮后,會(huì)產(chǎn)生一個(gè)dist文件夾,將里面的spring.jar文件復(fù)制到lib文件夾下。

5)右擊左邊導(dǎo)航面板的myspring節(jié)點(diǎn),在快捷菜單里選擇“Properties”菜單項(xiàng),將彈出如圖1.4所示的屬性對話框。

 

1.3  添加完lib文件夾后的包結(jié)構(gòu)圖                     1.4  增加用戶庫的步驟

6)單擊圖1.4所示屬性對話框左邊的“Add Library”按鈕,彈出Add Library對話框的選擇庫類型頁面(如圖1.5所示)。

7)單擊 Next”按鈕,出現(xiàn)Add Library對話框的選擇庫頁面(如圖1.6所示)。

 

1.5 增加用戶庫                         1.6 增加用戶庫

8)單擊“User Libraries”按鈕,彈出Preferences對話框,如圖1.7所示。

9)完成添加后,Eclipse左邊的導(dǎo)航欄應(yīng)如圖1.8所示。

 

1.7 新建用戶庫                        1.8 增加spring用戶庫后的包結(jié)構(gòu)圖

10)因?yàn)?/span>Spring使用commons-logging.jarlog4j.jar作為日志輸出,因此,也應(yīng)該將common-logging.jarlog4j.jar增加到用戶庫文件中。考慮到以后可能使用jakarta-common的各種jar文件,此時(shí),找到Spring解壓縮后lib文件夾下的jakarta-commons,將其下可能需要使用的lib都復(fù)制到myspringlib文件夾下,同時(shí)也將log4j.jar文件復(fù)制到該文件夾下。重復(fù)第5步到第9步的過程,完成兩個(gè)用戶庫的添加,完成用戶庫添加后的包結(jié)構(gòu)圖如圖1.9所示。

1.9  增加完用戶庫后的包結(jié)構(gòu)圖

11)為該項(xiàng)目增加log4j.properties文件,用來控制日志輸出。log4j.properties文件如下:

# rootLogger是所有日志的根日志,修改該日志屬性將對所有日志起作用

#下面的屬性配置中,所有日志的輸出級別是DEBUG,輸出源是標(biāo)準(zhǔn)輸出源:stdout

log4j.rootLogger=DEBUG, stdout

# 定義標(biāo)準(zhǔn)輸出源stdout的輸入位置是控制臺(tái)

log4j.appender.stdout=org.apache.log4j.ConsoleAppender

# 定義輸出日志的布局采用的類

log4j.appender.stdout.layout=org.apache.log4j.PatternLayout

# 定義輸出日志的布局

log4j.appender.stdout.layout.ConversionPattern=%c{1} - %m%n

12)編寫運(yùn)行的主程序,主程序的代碼如下

public class Test

{

public static void main(String[] args)

{

                   //創(chuàng)建SpringApplicationContext ,用于測試

           ApplicationContext ctx = new FileSystemXmlApplicationContext("beans.xml");

           System.out.println(ctx);

    }

}

13)在myspring文件夾內(nèi)編寫簡單的Spring配置文件,配置文件的內(nèi)容如下:

<!--  下面定義XML文件版本,編碼集-->

<?xml version="1.0" encoding="gb2312"?>

<!--  定義Spring配置文件對應(yīng)的dtd-->

<!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN"

         "http://www./dtd/spring-beans.dtd">

<!--  beansSpring配置文件的根元素-->

<beans>

 

</beans>

1.2.2.3 使用Ant工具

使用Ant工具的具體步驟如下:

1)新建一個(gè)文件夾myspring。該文件夾將作為當(dāng)前項(xiàng)目的根文件夾。

2)在myspring文件夾下新建文件夾src,該文件夾下存放項(xiàng)目源文件。

3)在myspring文件夾下新建文件夾classes,該文件夾下存放項(xiàng)目編譯后的類文件。

4)在myspring下新建文件夾liblib下存放該項(xiàng)目所需要的類庫。

5)將Spring 解壓縮后dist文件夾下的spring.jar復(fù)制到lib文件夾下。

6)將Spring解壓縮后jakarta-common文件夾下相關(guān)的*.jar文件復(fù)制到lib文件夾下。

7)將Spring解壓縮后log4j文件夾下的log4j-1.2.13.jar文件復(fù)制到lib文件夾下。

經(jīng)過上面7個(gè)步驟,使用Ant工具將可以編譯和運(yùn)行項(xiàng)目。下面給出Ant編譯和運(yùn)行的腳本,該腳本文件放在myspring文件夾下:

<?xml version="1.0"?>

<!--  定義編譯該項(xiàng)目的基本信息-->

<project name="spring" basedir="." default=".">

    <!--  定義編譯和運(yùn)行該項(xiàng)目時(shí)所需的庫文件 -->

<path id="classpath">

         <!--  該路徑下存放spring.jar和其他第三方類庫 -->

           <fileset dir="lib">

                <include name="*.jar"/>

           </fileset>

                   <!--  同時(shí),還需引用已經(jīng)編譯過的class文件-->

           <pathelement path="classes"/>

    </path>

         <!--  編譯全部的java文件-->

         <target name="compile" description="Compile all source code">

                   <!--  指定編譯后class文件的存放位置 -->

           <javac destdir="classes" debug="true"

                deprecation="false" optimize="false" failonerror="true">

                            <!--  指定需要編譯的源文件的存放位置 -->

                <src path="src"/>

                            <!--  指定編譯這些java文件時(shí)需要的類庫位置-->

                <classpath refid="classpath"/>

           </javac>

    </target>

         <!--  運(yùn)行特定的主程序 -->

         <target name="run" description="run the main class" depends="compile">

                   <!--  指定運(yùn)行的主程序:lee.BeanTest-->

           <java classname="lee.BeanTest" fork="yes" failonerror="true">

                            <!--  指定運(yùn)行這些java文件時(shí)需要的類庫位置-->

                <classpath refid="classpath"/>

           </java>

    </target>

</project>

該項(xiàng)目的主程序與采用Eclipse編寫的主程序代碼相比完全一樣,log4j.properties文件沒有任何區(qū)別。采用兩種工具的執(zhí)行效果也完全一樣。

    本站是提供個(gè)人知識管理的網(wǎng)絡(luò)存儲(chǔ)空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點(diǎn)。請注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點(diǎn)擊一鍵舉報(bào)。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多