国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

Spring Boot 參考指南(開發(fā)你的第一個(gè)Spring Boot應(yīng)用程序)

Cristalven / 702人閱讀

摘要:開發(fā)你的第一個(gè)應(yīng)用程序本節(jié)描述如何開發(fā)一個(gè)簡(jiǎn)單的應(yīng)用程序來突出了的一些關(guān)鍵特性,我們使用來構(gòu)建這個(gè)項(xiàng)目,因?yàn)榇蠖鄶?shù)都支持它。如果你希望分發(fā)一個(gè)自包含的應(yīng)用程序,這可能會(huì)有問題。

11. 開發(fā)你的第一個(gè)Spring Boot應(yīng)用程序

本節(jié)描述如何開發(fā)一個(gè)簡(jiǎn)單的“Hello World!” web應(yīng)用程序來突出了Spring Boot的一些關(guān)鍵特性,我們使用Maven來構(gòu)建這個(gè)項(xiàng)目,因?yàn)榇蠖鄶?shù)IDE都支持它。

spring.io網(wǎng)站包含許多使用Spring Boot的“入門”指南,如果你需要解決一個(gè)具體的問題,先檢查一下。
你可以通過使用start.spring.io和從依賴關(guān)系搜索器中選擇“Web”啟動(dòng)器來快捷地完成以下步驟,這樣做會(huì)生成一個(gè)新的項(xiàng)目結(jié)構(gòu),這樣你就可以立即開始編寫代碼,查看Spring Initializr文檔了解更多細(xì)節(jié)。

在開始之前,打開一個(gè)終端并運(yùn)行以下命令,以確保安裝了有效的Java和Maven版本:

$ java -version
java version "1.8.0_102"
Java(TM) SE Runtime Environment (build 1.8.0_102-b14)
Java HotSpot(TM) 64-Bit Server VM (build 25.102-b14, mixed mode)
$ mvn -v
Apache Maven 3.3.9 (bb52d8502b132ec0a5a3f4c09453c07478323dc5; 2015-11-10T16:41:47+00:00)
Maven home: /usr/local/Cellar/maven/3.3.9/libexec
Java version: 1.8.0_102, vendor: Oracle Corporation
此示例需要在其自己的文件夾中創(chuàng)建,隨后的指令假設(shè)你已經(jīng)創(chuàng)建了一個(gè)合適的文件夾,并且它是你當(dāng)前的目錄。
11.1 創(chuàng)建POM

我們需要先創(chuàng)建一個(gè)Maven pom.xml文件,pom.xml是用于構(gòu)建項(xiàng)目的,打開你最喜歡的文本編輯器并添加以下內(nèi)容:


    
  4.0.0
  com.example myproject   
  0.0.1-SNAPSHOT
   
    org.springframework.boot
    spring-boot-starter-parent    
    2.0.5.RELEASE
  
  

前面的清單應(yīng)該給你一個(gè)工作構(gòu)建,你可以通過運(yùn)行mvn package來測(cè)試它(現(xiàn)在,你可以忽略“jar will be empty - no content was marked for inclusion!”的警告)。

此時(shí),你可以將項(xiàng)目導(dǎo)入到IDE中(大多數(shù)現(xiàn)代Java IDE都包含對(duì)Maven的內(nèi)置支持),為了簡(jiǎn)單起見,我們繼續(xù)使用這個(gè)示例的純文本編輯器。
11.2 添加類路徑依賴

Spring Boot提供了一些“Starters”,可以讓你將jar添加到類路徑中,我們的示例應(yīng)用程序已經(jīng)在POM的父部分使用了spring-boot-starter-parent,spring-boot-starter-parent是一個(gè)特殊的starter,它提供有用的Maven默認(rèn)值,它還提供了一個(gè)dependency-management部分,以便你可以“幸?!钡氖÷砸蕾図?xiàng)的version標(biāo)記。

其他“Starters”提供了在開發(fā)特定類型的應(yīng)用程序時(shí)可能需要的依賴項(xiàng),由于我們正在開發(fā)一個(gè)web應(yīng)用程序,所以我們添加了一個(gè)spring-boot-starter-web依賴項(xiàng)。在此之前,我們可以通過運(yùn)行以下命令查看當(dāng)前所擁有的內(nèi)容:

$ mvn dependency:tree
[INFO] com.example:myproject:jar:0.0.1-SNAPSHOT

mvn dependency:tree命令以樹的形式打印項(xiàng)目依賴項(xiàng),你可以看到spring-boot-starter-parent本身不提供依賴性,要添加必要的依賴項(xiàng),請(qǐng)編輯pom.xml并將spring-boot-starter-web依賴項(xiàng)立即添加到parent部分下面:


 
   org.springframework.boot
   spring-boot-starter-web 
 

如果你再次運(yùn)行mvn dependency:tree,你會(huì)看到現(xiàn)在有許多額外的依賴項(xiàng),包括Tomcat web服務(wù)器和Spring Boot本身。

11.3 編寫代碼

要完成我們的應(yīng)用程序,我們需要?jiǎng)?chuàng)建一個(gè)Java文件,默認(rèn)情況下,Maven從src/main/java編譯源代碼,因此你需要?jiǎng)?chuàng)建該文件夾結(jié)構(gòu),然后添加一個(gè)名為src/main/java/Example.java的文件,包含以下代碼:

import org.springframework.boot.*;
import org.springframework.boot.autoconfigure.*; 
import org.springframework.web.bind.annotation.*;

@RestController 
@EnableAutoConfiguration 
public class Example {
  @RequestMapping("/")
  String home() {
    return "Hello World!";
  }
  public static void main(String[] args) throws Exception {       
     SpringApplication.run(Example.class, args);
  }
}

雖然這里沒有多少代碼,但仍有很多工作要做,我們將在接下來的幾節(jié)中討論重要的部分。

11.3.1 @RestController和@RequestMapping注解

在我們的Example類上的第一個(gè)注解是@RestController,這被稱為構(gòu)造型注解,它為閱讀代碼的人們提供了一些提示,并且為Spring提供了一個(gè)特定的角色。在本例中,我們的類是一個(gè)web @Controller,所以Spring在處理傳入web請(qǐng)求時(shí)考慮它。

@RequestMapping注解提供了“路由”信息,它告訴Spring,任何帶有/路徑的HTTP請(qǐng)求都應(yīng)該映射到home方法,@RestController注解告訴Spring將生成的字符串直接呈現(xiàn)給調(diào)用者。

@RestController@RequestMapping注解是Spring MVC注解,(它們不是特定于Spring Boot的)有關(guān)更多詳細(xì)信息,請(qǐng)參見Spring參考文檔中的MVC部分。
11.3.2 @EnableAutoConfiguration注解

第二個(gè)類級(jí)別注解是@EnableAutoConfiguration,這個(gè)注解告訴Spring Boot基于你添加的jar依賴項(xiàng)“猜測(cè)”你想如何配置Spring,因?yàn)?b>Spring-boot-starter-web添加了Tomcat和Spring MVC,所以自動(dòng)配置假設(shè)你正在開發(fā)一個(gè)web應(yīng)用程序,并相應(yīng)地設(shè)置Spring。

Starters和自動(dòng)配置

自動(dòng)配置被設(shè)計(jì)成與“Starters”很好地工作,但是這兩個(gè)概念并沒有直接關(guān)聯(lián)。你可以自由地挑選和選擇除starters之外的jar依賴項(xiàng),Spring Boot仍然盡力自動(dòng)配置你的應(yīng)用程序。

11.3.3 “Main”方法

我們的應(yīng)用程序的最后一部分是main方法,這只是遵循應(yīng)用程序入口點(diǎn)的Java約定的標(biāo)準(zhǔn)方法。我們的main方法通過調(diào)用run委托給Spring Boot的SpringApplication類,SpringApplication引導(dǎo)我們的應(yīng)用程序啟動(dòng)Spring,而Spring又啟動(dòng)了自動(dòng)配置的Tomcat web服務(wù)器。我們需要通過Example.class作為run方法的參數(shù),以告訴SpringApplication它是主Spring組件,args數(shù)組也被傳遞,以公開任何命令行參數(shù)。

11.4 運(yùn)行樣例

此時(shí),你的應(yīng)用程序應(yīng)該可以工作了,因?yàn)槟闶褂昧?b>spring-boot-starter-parentPOM,所以你有一個(gè)有用的run目標(biāo),你可以使用它來啟動(dòng)應(yīng)用程序。類型mvn spring-boot:run從根項(xiàng)目目錄運(yùn)行,以啟動(dòng)應(yīng)用程序,你應(yīng)該會(huì)看到類似如下的輸出:

$ mvn spring-boot:run
  .   ____          _            __ _ _
 / / ___"_ __ _ _(_)_ __  __ _    
( ( )\___ | "_ | "_| | "_ / _` |    
 /  ___)| |_)| | | | | || (_| |  ) ) ) )
  "  |____| .__|_| |_|_| |_\__, | / / / /
 =========|_|==============|___/=/_/_/_/
 :: Spring Boot ::  (v2.0.5.RELEASE)
....... . . .
....... . . . (log output here)
....... . . .
........ Started Example in 2.222 seconds (JVM running for 6.514)

如果你打開一個(gè)web瀏覽器到localhost:8080,你應(yīng)該會(huì)看到以下輸出:

Hello World!

要優(yōu)雅地退出應(yīng)用程序,按ctrl-c。

11.5 創(chuàng)建一個(gè)可執(zhí)行jar

我們通過創(chuàng)建一個(gè)可以在生產(chǎn)中運(yùn)行的完全自包含的可執(zhí)行jar文件來完成我們的示例,可執(zhí)行jar(有時(shí)稱為“fat jars”)是包含你的編譯類的存檔文件,以及你的代碼需要運(yùn)行的所有jar依賴項(xiàng)。

可執(zhí)行jar和Java

Java沒有提供加載嵌套jar文件的標(biāo)準(zhǔn)方法(jar文件本身包含在一個(gè)jar中)。
如果你希望分發(fā)一個(gè)自包含的應(yīng)用程序,這可能會(huì)有問題。

為了解決這個(gè)問題,許多開發(fā)人員使用“uber”jar,一個(gè)uber jar將所有應(yīng)用程序依賴項(xiàng)的所有類打包成一個(gè)歸檔文件,這種方法的問題在于,很難看到應(yīng)用程序中有哪些庫,如果在多個(gè)jar中使用相同的文件名(但使用不同的內(nèi)容),也會(huì)有問題。

Spring Boot采用了一種不同的方法,讓你可以直接嵌套jar。

要?jiǎng)?chuàng)建一個(gè)可執(zhí)行jar,我們需要將spring-boot-maven-plugin添加到我們的pom.xml中,要做到這一點(diǎn),請(qǐng)?jiān)?b>dependencies部分下面插入以下幾行:


 
    
     org.springframework.boot 
     spring-boot-maven-plugin
  
 
spring-boot-starter-parentPOM包括配置以綁定repackage目標(biāo),如果你不使用父POM,你需要自己聲明這個(gè)配置,有關(guān)詳細(xì)信息,請(qǐng)參見插件文檔。

保存你的pom.xml并從命令行運(yùn)行mvn package,如下所示:

$ mvn package
[INFO] Scanning for projects...
[INFO]
[INFO] ------------------------------------------------------------------------
[INFO] Building myproject 0.0.1-SNAPSHOT
[INFO] ------------------------------------------------------------------------
[INFO] .... ..
[INFO] --- maven-jar-plugin:2.4:jar (default-jar) @ myproject ---
[INFO] Building jar: /Users/developer/example/spring-boot-example/target/myproject-0.0.1-SNAPSHOT.jar
[INFO]
[INFO] --- spring-boot-maven-plugin:2.0.5.RELEASE:repackage (default) @ myproject ---
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------

如果查看target目錄,應(yīng)該會(huì)看到myproject-0.0.1-snapshot.jar,文件的大小應(yīng)該在10MB左右,如果你想查看內(nèi)部,可以使用jar tvf,如下所示:

$ jar tvf target/myproject-0.0.1-SNAPSHOT.jar

你還應(yīng)該看到一個(gè)更小的文件,名為myproject-0.0.1-snapshot.jar.originaltarget目錄中,這是Maven在Spring Boot重新打包之前創(chuàng)建的原始jar文件。

要運(yùn)行該應(yīng)用程序,請(qǐng)使用java -jar命令,如下所示:

$ java -jar target/myproject-0.0.1-SNAPSHOT.jar
  .   ____          _            __ _ _
 / / ___"_ __ _ _(_)_ __  __ _    
( ( )\___ | "_ | "_| | "_ / _` |    
 /  ___)| |_)| | | | | || (_| |  ) ) ) )
  "  |____| .__|_| |_|_| |_\__, | / / / /
 =========|_|==============|___/=/_/_/_/
 :: Spring Boot ::  (v2.0.5.RELEASE)
....... . . .
....... . . . (log output here)
....... . . .
........ Started Example in 2.536 seconds (JVM running for 2.864)

如前所述,退出應(yīng)用程序,按ctrl-c。

12.下一步要讀什么

希望這一節(jié)提供了一些Spring Boot基礎(chǔ)知識(shí),并幫助你編寫自己的應(yīng)用程序。如果你是面向任務(wù)的開發(fā)人員,你可能想跳到spring.io和查看一些入門指南來解決具體的“我如何用Spring實(shí)現(xiàn)它?”的問題,我們還有Spring boot特有的“How-to”參考文檔。

Spring Boot repository也有一些你可以運(yùn)行的示例,這些示例與代碼的其余部分無關(guān)(也就是說,你不需要構(gòu)建其余的代碼來運(yùn)行或使用示例)。

上一篇:安裝 Spring Boot 下一篇:構(gòu)建系統(tǒng)

文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請(qǐng)注明本文地址:http://m.specialneedsforspecialkids.com/yun/69613.html

相關(guān)文章

  • Spring Boot 參考指南(目錄)

    摘要:參考指南使你可以輕松地創(chuàng)建可運(yùn)行的獨(dú)立的生產(chǎn)級(jí)的基于的應(yīng)用程序,我們對(duì)平臺(tái)和第三方庫有自己的看法,這樣你就可以以最低限度工作開始了,大多數(shù)應(yīng)用程序都需要很少的配置。文檔本節(jié)簡(jiǎn)要概述了參考文檔,它充當(dāng)文檔其余部分的映射。 Spring Boot 參考指南 Spring Boot使你可以輕松地創(chuàng)建可運(yùn)行的獨(dú)立的、生產(chǎn)級(jí)的基于Spring的應(yīng)用程序,我們對(duì)Spring平臺(tái)和第三方庫有自己的看...

    awesome23 評(píng)論0 收藏0
  • Spring Boot 參考指南Spring Boot文檔)

    摘要:關(guān)于文檔參考指南可用如下方式最新的副本可以在中找到。嘗試操作文檔,它們?yōu)樽畛R姷膯栴}提供解決方案。學(xué)習(xí)基礎(chǔ),構(gòu)建在許多其他項(xiàng)目上,網(wǎng)站提供豐富的參考文檔,如果你要從開始,嘗試其中一個(gè)指南。我們對(duì)進(jìn)行監(jiān)視,以解決帶有標(biāo)記的問題。 1. 關(guān)于文檔 Spring Boot 參考指南可用如下方式: HTML PDF EPUB 最新的副本可以在 docs.spring.io/spring-b...

    zhjx922 評(píng)論0 收藏0
  • Spring Boot 參考指南(安裝 Spring Boot

    摘要:安裝可以與經(jīng)典開發(fā)工具一起使用,也可以作為命令行工具安裝。下面的示例展示了一個(gè)典型的文件安裝命令行接口是一個(gè)命令行工具,你可以使用它來快速地實(shí)現(xiàn)的原型。 10. 安裝Spring Boot Spring Boot可以與經(jīng)典Java開發(fā)工具一起使用,也可以作為命令行工具安裝。無論哪種方式,都需要Java SDK v1.8或更高版本。在開始之前,你應(yīng)該使用以下命令檢查當(dāng)前的Java安裝: ...

    Donald 評(píng)論0 收藏0
  • Spring Boot 參考指南(構(gòu)建系統(tǒng))

    摘要:構(gòu)建系統(tǒng)強(qiáng)烈建議你選擇一個(gè)支持依賴管理的構(gòu)建系統(tǒng),并且可以使用發(fā)布到中心存儲(chǔ)庫的工件。例如,要升級(jí)到另一個(gè),你可以將以下元素添加到你的在前面的示例中,我們指定了一個(gè),但是任何依賴類型都可以以相同的方式被覆蓋。 13. 構(gòu)建系統(tǒng) 強(qiáng)烈建議你選擇一個(gè)支持依賴管理的構(gòu)建系統(tǒng),并且可以使用發(fā)布到Maven中心存儲(chǔ)庫的工件。我們建議你選擇Maven或Gradle,可以讓Spring Boot與其...

    thursday 評(píng)論0 收藏0
  • Spring Boot 參考指南(運(yùn)行你的應(yīng)用程序

    摘要:從運(yùn)行你可以從運(yùn)行應(yīng)用程序作為簡(jiǎn)單的應(yīng)用程序,但是,你首先需要導(dǎo)入你的項(xiàng)目,導(dǎo)入步驟取決于你的和構(gòu)建系統(tǒng)。如果你不小心運(yùn)行了兩次應(yīng)用程序,你你會(huì)看到一個(gè)錯(cuò)誤,用戶可以使用按鈕而不是按鈕來確保任何現(xiàn)有實(shí)例都已關(guān)閉。 19. 運(yùn)行你的應(yīng)用程序 將你的應(yīng)用程序打包為jar并使用嵌入式HTTP服務(wù)器的最大優(yōu)點(diǎn)之一是,你可以像對(duì)待其他應(yīng)用程序一樣運(yùn)行應(yīng)用程序,調(diào)試Spring Boot應(yīng)用程序也...

    JayChen 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

最新活動(dòng)
閱讀需要支付1元查看
<