国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > Java > 正文

使用Java的Spring框架編寫第一個程序Hellow world

2019-11-26 14:47:11
字體:
供稿:網(wǎng)友

Spring框架是什么?
Spring是為企業(yè)Java最流行的應(yīng)用程序開發(fā)框架。數(shù)以百萬計的世界各地的開發(fā)人員使用Spring框架來創(chuàng)建高性能,易于測試的,可重用的代碼。

Spring框架是一個開源的Java平臺,它最初是由Rod Johnson編寫并在2003年6月在Apache2.0許可下首次發(fā)布。

Spring是輕量級的,當(dāng)涉及到大小和透明度。 spring框架的基本版本是大約2MB。

Spring框架的核心功能可以在任何Java應(yīng)用程序中使用,但也有擴(kuò)展的Java EE平臺上構(gòu)建Web應(yīng)用程序。 Spring框架的目標(biāo),以使J2EE開發(fā)更容易使用,并且通過使基于POJO的編程模型,促進(jìn)良好的編程習(xí)慣。

使用Spring框架的好處:
以下是一些使用Spring框架的極大的好處列表:

Spring 使開發(fā)人員使用POJO來開發(fā)企業(yè)級應(yīng)用程序。僅使用POJO的好處是不需要EJB容器產(chǎn)品,如應(yīng)用服務(wù)器,但必須只使用一個強(qiáng)大的servlet容器,如Tomcat 或某些商業(yè)產(chǎn)品的選擇。

Spring 被組織在一個模塊化的方式。雖然包和類的數(shù)量是巨大的,你只有擔(dān)心那些需要的,而其它的就忽略了。

Spring不重新發(fā)明輪子,而是真正利用了一些像一些ORM框架,日志框架,JEE,Quartz和JDK定時器,其他視圖技術(shù)的現(xiàn)有技術(shù)。

編寫測試Spring的應(yīng)用程序很簡單,因為環(huán)境相關(guān)的代碼被移動到這個框架中。此外,通過使用JavaBean風(fēng)格的POJO,它變得更容易使用依賴注入注入測試數(shù)據(jù)。

Spring web框架是一個設(shè)計良好的Web MVC框架,它提供了一個很好的替代Web框架,如Struts或其他過度設(shè)計或不太流行的Web框架。

Spring提供了一個方便的API平移技術(shù)特定的異常(通過JDBC,Hibernate,或者JDO拋出,例如)成一致,未經(jīng)檢查的異常。

輕量級的IoC容器往往是輕量級的,尤其是相對EJB容器,例如。這有利于開發(fā)和有限的內(nèi)存和CPU資源的計算機(jī)上部署應(yīng)用程序。

Spring提供了一致的事務(wù)管理接口,可向下擴(kuò)展到(使用一個單一的數(shù)據(jù)庫,例如)本地事務(wù)并擴(kuò)展到全局事務(wù)(使用JTA,例如)。

依賴注入(DI):
Spring最有確定的技術(shù)是依賴注入控制反轉(zhuǎn)(DI)。控制反轉(zhuǎn)(IoC)是一個籠統(tǒng)的概念,它可以表現(xiàn)在許多不同的方式和依賴注入僅僅是控制反轉(zhuǎn)的一個具體的例子。

當(dāng)編寫一個復(fù)雜的Java應(yīng)用程序,應(yīng)用程序類應(yīng)該盡可能獨立其他Java類來增加重復(fù)使用這些類,并獨立于其他類別的測試它們,而這樣做單元測試的可能性。依賴注入有助于粘合這些類在一起,同時保持他們的獨立。

什么是依賴注入是什么呢?讓我們來看看這兩個詞分開。這里的依賴性部分轉(zhuǎn)化為兩個類之間的關(guān)聯(lián)。例如,A類是依賴B類,現(xiàn)在,讓我們來看看第二部分,注入。這一切都意味著,B類將由IOC注入到A類得到。

依賴注入可以將參數(shù)傳遞給構(gòu)造函數(shù)的方式或使用后建設(shè)setter方法​​發(fā)生。依賴注入是Spring框架的核心,所以會在一個單獨的章節(jié),一個不錯的例子解釋這個概念。

面向切面編程(AOP):
Spring的一個關(guān)鍵組件是面向切面編程(AOP)框架。跨越多個點的應(yīng)用程序的功能被稱為橫切關(guān)注點和這些橫切關(guān)注點是從應(yīng)用程序的業(yè)務(wù)邏輯概念上區(qū)分開來。有方面的各種常見很好的例子包括日志記錄,聲明性事務(wù),安全性和高速緩存等。

模塊化的OOP關(guān)鍵單元是類,而在AOP中模塊化的單元則是切面。DI幫助您從彼此分離的應(yīng)用程序?qū)ο螅珹OP可以幫助你消除來自他們影響的對象橫切關(guān)注點。

Spring框架AOP模塊提供了面向方面編程實現(xiàn),允許您定義方法攔截器和切入點,以干凈脫鉤,實現(xiàn)的功能,應(yīng)該分開代碼。我將在單獨的一章討論Spring AOP的概念。


Hello World
讓我們從實際編程中使用Spring框架。在開始編寫使用Spring框架的第一個例子,你必須確保已經(jīng)設(shè)置Spring環(huán)境。需要對Eclipse IDE有一點知識。

因此,讓我們著手編寫一個簡單的Spring應(yīng)用程序?qū)⒋蛴?“Hello World!” 或基于Spring bean 配置文件來完成配置的其他信息。

第1步 - 創(chuàng)建Java項目:
第一步是使用Eclipse IDE 創(chuàng)建一個簡單的Java項目。選項 File -> New -> Project 最后選擇 Java Project 從向?qū)Я斜硐驅(qū)А,F(xiàn)在,項目命名為 HelloSpring 使用向?qū)Т翱冢缦滤荆?br />

2015125145515775.jpg (560×420)

項目創(chuàng)建成功后,將在 Project Explorer 看到下面的內(nèi)容:

2015125145636559.jpg (560×403)

第2步 - 添加必需的庫:
第二步添加 Spring框架,并在我們的項目中通用的日志API庫。要做到這一點,右鍵單擊您的項目名稱 HelloSpring 然后按照上下文菜單中提供以下選項: Build Path -> Configure Build Path 如下顯示的Java 構(gòu)建路徑窗口:

2015125145652526.jpg (560×418)

現(xiàn)在,使用Add External JARs 選項 Libraries 卡提供外部JAR按鈕,添加從Spring框架和通用日志安裝目錄下面的核心JAR文件: 

  • antlr-runtime-3.0.1
  • org.springframework.aop-3.1.0.M2
  • org.springframework.asm-3.1.0.M2
  • org.springframework.aspects-3.1.0.M2
  • org.springframework.beans-3.1.0.M2
  • org.springframework.context.support-3.1.0.M2
  • org.springframework.context-3.1.0.M2
  • org.springframework.core-3.1.0.M2
  • org.springframework.expression-3.1.0.M2
  • commons-logging-1.1.1

第3步 - 創(chuàng)建源文件:
現(xiàn)在讓我們根據(jù)實際創(chuàng)建的源文件 HelloSpring 項目。首先,我們需要創(chuàng)建一個名為包 com.yiibai. 要做到這一點,右鍵點擊 src 在包資源管理部分,并按照選項:New -> Package.

下一步我們創(chuàng)建 HelloWorld.java 和 MainApp.java 在com.yiibai 包下文件。

2015125145712168.jpg (560×347)

這里是 HelloWorld.java 的文件的內(nèi)容:

package com.yiibai;public class HelloWorld {  private String message;  public void setMessage(String message){   this.message = message;  }  public void getMessage(){   System.out.println("Your Message : " + message);  }}

下面是第二個文件 MainApp.java 的內(nèi)容:

package com.yiibai;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();  }}

有以下兩個要點需要注意在主要程序中:

第一步是創(chuàng)建在這里我們使用框架API ClassPathXmlApplicationContext() 應(yīng)用程序上下文。這個API加載 beans 的配置文件,并最終基于所提供的API,它需要創(chuàng)建并初始化所有的對象。在配置文件中提到的beans 類。

第二個步驟是用來使用創(chuàng)建的上下文的 getBean() 方法獲得所需的bean。此方法使用 bean 的 id 返回,最終可以創(chuàng)建實際對象的通用對象。一旦有了對象,就可以使用這個對象調(diào)用任何類方法。

第4步 - 創(chuàng)建bean配置文件:
需要創(chuàng)建一個bean 配置文件,該文件是一個XML文件,并作為 cement 等類組合在一起。這個文件需要在src 目錄下創(chuàng)建如下圖所示:

2015125145730773.jpg (560×352)

通常開發(fā)人員保留此文件的名稱為 beans.xml 文件,但是必須為獨立的,選擇你喜歡的任何名稱。必須確保這個文件在 CLASSPATH 中可用,并使用相同的名稱在主應(yīng)用程序而創(chuàng)建的應(yīng)用程序上下文,如圖MainApp.java文件。

在 beans.xml 中用于分配唯一的ID,以不同的 bean 和控制創(chuàng)造不同的值對象,而不會影響任何 Spring 的源文件。例如,使用下面的文件,可以通過為“message”變量的任何值,這樣你就可以打印消息的不同的值,而不會影響的 HelloWorld.java 和 MainApp.java 文件。讓我們來看看它是如何工作的:

<?xml version="1.0" encoding="UTF-8"?><beans xmlns="http://www.springframework.org/schema/beans"  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"  xsi:schemaLocation="http://www.springframework.org/schema/beans  http://www.springframework.org/schema/beans/spring-beans-3.0.xsd">  <bean id="helloWorld" class="com.yiibai.HelloWorld">    <property name="message" value="Hello World!"/>  </bean></beans>

在Spring 應(yīng)用程序被加載到內(nèi)存中,框架利用了上面的配置文件來創(chuàng)建所有定義的 Bean,并在 <bean> 標(biāo)記定義為它們分配一個唯一的 ID。您可以使用 <property> 標(biāo)簽來傳遞在創(chuàng)建對象時使用不同的變量的值。

第5步 - 運行程序:
創(chuàng)建源代碼和 bean 配置文件來完成,準(zhǔn)備好這一步是編譯和運行程序。要做到這一點,保持 MainApp.Java 文件選項卡激活并使用在Eclipse IDE中提供 Run 選項,或使用Ctrl + F11可以編譯并運行應(yīng)用程序MainApp。如果一切順利那么應(yīng)用程序這將打印以下信息在 Eclipse IDE 控制臺:

Your Message : Hello World!
恭喜,你已經(jīng)創(chuàng)建了第一個Spring應(yīng)用并成功執(zhí)行。您可以通過更改“message”屬性的值,并保持兩者的源文件不變見上 Spring 應(yīng)用程序的靈活性。

發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 泸州市| 三都| 武汉市| 二连浩特市| 石河子市| 屯门区| 昌邑市| 瑞安市| 吉木乃县| 阳江市| 阿图什市| 务川| 永寿县| 灵丘县| 林周县| 都安| 泗阳县| 利川市| 扶绥县| 南阳市| 长顺县| 陵川县| 繁峙县| 元朗区| 苍梧县| 长泰县| 浠水县| 临江市| 曲阜市| 彰化县| 迁安市| 台湾省| 元氏县| 资源县| 大英县| 西宁市| 贵德县| 囊谦县| 绍兴市| 黎平县| 九龙县|