創(chuàng)建HelloWorld 項(xiàng)目,主要涉及到: 壹、創(chuàng)建(生成)一個(gè)Spring標(biāo)準(zhǔn)項(xiàng)目 貳、添加必需的庫(kù) 叁、創(chuàng)建源文件 肆、創(chuàng)建 bean 的配置文件 伍、運(yùn)行和調(diào)試 陸、打包發(fā)布 讓我們使用 Spring 框架開(kāi)始實(shí)際的編程。在你開(kāi)始使用 Spring 框架編寫(xiě)第一個(gè)例子之前,你必須確保已經(jīng)正確地設(shè)置了 Spring 環(huán)境,希望大家了解一些有關(guān) Eclipse IDE 工作的知識(shí)。 我們繼續(xù)編寫(xiě)一個(gè)簡(jiǎn)單的 Spring 應(yīng)用程序,它將根據(jù)在 Spring Beans 配置文件中配置的信息輸出 “Hello World!” 或其他信息。 第一步:創(chuàng)建 Java 項(xiàng)目 第一步是使用 Eclipse IDE 創(chuàng)建一個(gè)簡(jiǎn)單的 Java 項(xiàng)目。按照選項(xiàng) File -> New -> Project,最后從向?qū)Я斜碇羞x擇 Java Project 向?qū)А,F(xiàn)在,使用向?qū)Т翱趯⒛愕捻?xiàng)目命名為 HelloSpring,如下所示: 第二步:添加必需的庫(kù) 第二步讓我們添加 Spring 框架和通用的日志 API 庫(kù)到我們的項(xiàng)目中。為了做到這個(gè),在你的項(xiàng)目名稱(chēng) HelloSpring 上單擊右鍵,然后在快捷菜單上按照下面可用的選項(xiàng):Build Path -> Configure Build Path 顯示 Java 構(gòu)建路徑窗口,如下所示: 現(xiàn)在,在 Libraries 標(biāo)簽中使用可用的 Add External JARs 按鈕,添加從 Spring 框架和通用日志安裝目錄下面的核心 JAR 文件: commons-logging-1.1.1 spring-aop-4.1.6.RELEASE spring-aspects-4.1.6.RELEASE spring-beans-4.1.6.RELEASE spring-context-4.1.6.RELEASE spring-context-support-4.1.6.RELEASE spring-core-4.1.6.RELEASE spring-expression-4.1.6.RELEASE spring-instrument-4.1.6.RELEASE spring-instrument-tomcat-4.1.6.RELEASE spring-jdbc-4.1.6.RELEASE spring-jms-4.1.6.RELEASE spring-messaging-4.1.6.RELEASE spring-orm-4.1.6.RELEASE spring-oxm-4.1.6.RELEASE spring-test-4.1.6.RELEASE spring-tx-4.1.6.RELEASE spring-web-4.1.6.RELEASE spring-webmvc-4.1.6.RELEASE spring-webmvc-portlet-4.1.6.RELEASE spring-websocket-4.1.6.RELEASE 第三步:創(chuàng)建源文件 現(xiàn)在讓我們?cè)?HelloSpring 項(xiàng)目下創(chuàng)建實(shí)際的源文件。首先,我們需要?jiǎng)?chuàng)建一個(gè)名為 com.iysms的包。在 package explore 區(qū)域中的 src 上點(diǎn)擊右鍵,并按照選項(xiàng):New -> Package。接下來(lái),我們?cè)诎?com.iysms下創(chuàng)建 HelloWorld.java 和 MainApp.java 文件。 這里是 HelloWorld.java 文件的內(nèi)容: package com.iysms; public class HelloWorld { private String message; public void setMessage(String message){ this.message = message; } public void getMessage(){ System.out.println("Your Message : " + message); } } 下面是第二個(gè)文件 MainApp.java 的內(nèi)容: package com.iysms; import org.springframework.context.ApplicationContext; import org.springframework.context.support.ClassPathXmlApplicationContext; public class MainApp { public static void main(String[] args) { ApplicationContext context = new ClassPathXmlApplicationContext("Beans.xml"); HelloWorld obj = (HelloWorld) context.getBean("helloWorld"); obj.getMessage(); } } 關(guān)于主要程序有以下兩個(gè)要點(diǎn)需要注意: 第一步是我們使用框架 API ClassPathXmlApplicationContext() 來(lái)創(chuàng)建應(yīng)用程序的上下文。這個(gè) API 加載 beans 的配置文件并最終基于所提供的 API,它處理創(chuàng)建并初始化所有的對(duì)象,即在配置文件中提到的 beans。 第二步是使用已創(chuàng)建的上下文的 getBean() 方法來(lái)獲得所需的 bean。這個(gè)方法使用 bean 的 ID 返回一個(gè)最終可以轉(zhuǎn)換為實(shí)際對(duì)象的通用對(duì)象。一旦有了對(duì)象,你就可以使用這個(gè)對(duì)象調(diào)用任何類(lèi)的方法。 第四步:創(chuàng)建 bean 的配置文件 你需要?jiǎng)?chuàng)建一個(gè) Bean 的配置文件,該文件是一個(gè) XML 文件,并且作為粘合 bean 的粘合劑即類(lèi)。這個(gè)文件需要在 src 目錄下創(chuàng)建。 通常開(kāi)發(fā)人員保存該文件的名稱(chēng)為 Beans.xml 文件,當(dāng)然你也可以設(shè)置成任何你喜歡的名稱(chēng)。但是你必須確保這個(gè)文件在 CLASSPATH 中是可用的,并在主應(yīng)用程序中使用相同的名稱(chēng),而在 MainApp.java 文件中創(chuàng)建應(yīng)用程序的上下文。 Beans.xml 用于給不同的 bean 分配唯一的 ID,并且控制不同值的對(duì)象的創(chuàng)建,而不會(huì)影響 Spring 的任何源文件。例如,使用下面的文件,你可以為 “message” 變量傳遞任何值,因此你就可以輸出信息的不同值,而不會(huì)影響的 HelloWorld.java和MainApp.java 文件。讓我們來(lái)看看它是如何工作的: 當(dāng) Spring 應(yīng)用程序被加載到內(nèi)存中時(shí),框架利用了上面的配置文件來(lái)創(chuàng)建所有已經(jīng)定義的 beans,并且按照標(biāo)簽的定義為它們分配一個(gè)唯一的 ID。你可以使用標(biāo)簽來(lái)傳遞在創(chuàng)建對(duì)象時(shí)使用不同變量的值。 第五步:運(yùn)行和調(diào)試程序 一旦你完成了創(chuàng)建源代碼和 bean 的配置文件后,就可以準(zhǔn)備編譯和運(yùn)行你的程序了。為了做到這個(gè),請(qǐng)保持 MainApp.Java 文件標(biāo)簽是有效的,并且在 Eclipse IDE 中使用可用的 Run 選項(xiàng),或使用 Ctrl + F11 編譯并運(yùn)行你的應(yīng)用程序 MainApp。如果你的應(yīng)用程序一切都正常,將在 Eclipse IDE 控制臺(tái)打印以下信息: Your Message : Hello World! 恭喜你,你已經(jīng)成功地創(chuàng)建了你的第一個(gè) Spring 應(yīng)用程序。通過(guò)更改 “message” 屬性的值并且保持兩個(gè)源文件不變,你可以看到上述 Spring 應(yīng)用程序的靈活性。 第六步:Spring項(xiàng)目打包發(fā)布 1、打開(kāi)項(xiàng)目結(jié)構(gòu)設(shè)置 project structure: 2、選擇Artifacts這一項(xiàng),進(jìn)行設(shè)置: 3、生成配置,從項(xiàng)目模塊中創(chuàng)建jar包……,請(qǐng)記得選擇“extract to the target JAR”……,點(diǎn)擊apply以使配置生效。此時(shí)項(xiàng)目中會(huì)生成 META-INF 文件夾,里面包含 MANIFEST.MF。該文件夾的作用。相當(dāng)于一個(gè)信息包,目錄中的文件和目錄獲得Java 2平臺(tái)的認(rèn)可與解釋?zhuān)脕?lái)配置應(yīng)用程序、擴(kuò)展程序、類(lèi)加載器和服務(wù)。耐心等待jar包被生成好…… 總結(jié)和思考: 首先,創(chuàng)建一個(gè)Spring項(xiàng)目后,第一件事是將Spring相關(guān)的jar包導(dǎo)入路徑,然后創(chuàng)建需要的類(lèi)文件,類(lèi)文件寫(xiě)好后,在包一級(jí)路徑下創(chuàng)建xml文件,例子中我的xml文件名為Beans.xml,你可以隨便起名。 Beans.xml 用于給不同的 bean 分配唯一的 ID(Spring中可稱(chēng)類(lèi)為bean),并且控制不同值的對(duì)象的創(chuàng)建,而不會(huì)影響 Spring 的任何源文件。上例中,你可以通過(guò)property標(biāo)簽為 “message” 變量傳遞任何值,就可以輸出信息的不同值,而不會(huì)影響的 HelloWorld.java和MainApp.java 文件。 <bean id="helloWorld" class="com.iysms.HelloWorld"> <property name="message" value="HelloWorld!" /> </bean> id是bean的唯一標(biāo)識(shí),class標(biāo)識(shí)創(chuàng)建的實(shí)例的類(lèi),要寫(xiě)全類(lèi)名。<property>標(biāo)簽中,指定message的值為“HelloWorld”,<property>標(biāo)簽中,message是key,value代表message的值(value),是鍵值對(duì)的表示。其實(shí),<property>標(biāo)簽是調(diào)用了HelloWorld類(lèi)中的實(shí)例方法setMessage()。當(dāng)然,除了通過(guò)<property>指定鍵值對(duì)指定實(shí)例變量的值,還有其他方式,后面的文章會(huì)慢慢介紹。 關(guān)于主要程序有兩個(gè)要點(diǎn)需要注意: 第一點(diǎn)是我們使用框架 API ClassPathXmlApplicationContext() 來(lái)創(chuàng)建應(yīng)用程序的上下文。這個(gè) API 加載 beans 的配置文件并最終基于所提供的 API,處理創(chuàng)建并初始化所有的對(duì)象,即在配置文件中提到的 beans。 第二點(diǎn)是使用已創(chuàng)建的上下文的 getBean() 方法來(lái)獲得所需的 bean。這個(gè)方法使用 bean 的 ID 返回一個(gè)最終可以轉(zhuǎn)換為實(shí)際對(duì)象的通用對(duì)象。一旦有了對(duì)象,你就可以使用這個(gè)對(duì)象調(diào)用任何類(lèi)的方法。 |
|
來(lái)自: 大文豪賢斌學(xué)長(zhǎng) > 《待分類(lèi)》