如何開發一個簡單的「Hello World!」Web應用程序,該應用程序突出了Spring Boot的一些主要功能。咱們使用Maven來構建這個項目,由於大多數IDE都支持它。html
在開始以前,打開終端並運行如下命令以確保安裝了有效的Java和Maven版本:java
1:建立POMweb
咱們須要從建立Maven pom.xml
文件開始。打開喜歡的文本編輯器並添加如下內容:spring
<?xml version="1.0" encoding="UTF-8"?> <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd"> <modelVersion>4.0.0</modelVersion> <groupId>com.example</groupId> <artifactId>myproject</artifactId> <version>0.0.1-SNAPSHOT</version> <parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId> <version>2.2.0.M2</version> </parent> <!-- Additional lines to be added here... --> <!-- (you don't need this if you are using a .RELEASE version) --> <repositories> <repository> <id>spring-snapshots</id> <url>https://repo.spring.io/snapshot</url> <snapshots><enabled>true</enabled></snapshots> </repository> <repository> <id>spring-milestones</id> <url>https://repo.spring.io/milestone</url> </repository> </repositories> <pluginRepositories> <pluginRepository> <id>spring-snapshots</id> <url>https://repo.spring.io/snapshot</url> </pluginRepository> <pluginRepository> <id>spring-milestones</id> <url>https://repo.spring.io/milestone</url> </pluginRepository> </pluginRepositories> </project>
能夠經過運行來測試它mvn package
apache
2:添加Classpath依賴項數組
Spring Boot提供了許多「Starters」,能夠將jar添加到類路徑中。咱們的示例應用程序已經spring-boot-starter-parent
在parent
POM部分中使用過。這spring-boot-starter-parent
是一個特殊的啓動器,提供有用的Maven默認值。它還提供了一個dependency-management
部分,以便您能夠省略version
「祝福」依賴項的標記。瀏覽器
其餘「Starters」提供了在開發特定類型的應用程序時可能須要的依賴項。因爲咱們正在開發Web應用程序,所以咱們添加了spring-boot-starter-web
依賴項。在此以前,咱們能夠經過運行如下命令來查看當前的內容:服務器
該mvn dependency:tree
命令打印項目依賴項的樹表示。您能夠看到它spring-boot-starter-parent
自己不提供依賴關係。要添加必要的依賴項,請編輯pom.xml
並spring-boot-starter-web
在該parent
部分下方添加 依賴項:app
若是mvn dependency:tree
再次運行,您會發現如今有許多其餘依賴項,包括Tomcat Web服務器和Spring Boot自己.。maven
3:編寫代碼
要完成咱們的應用程序,咱們須要建立一個Java文件。默認狀況下,Maven編譯源代碼src/main/java
,所以您須要建立該文件夾結構,而後添加一個名爲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) { SpringApplication.run(Example.class, args); } }
3.1:在@RestController
和@RequestMapping
註解
咱們Example
班上的第一個註釋是@RestController
。這被稱爲 構造型註釋。它爲閱讀代碼的人提供了提示,而爲Spring提供了特定角色的提示。在這種狀況下,咱們的類是一個Web @Controller
,所以Spring在處理傳入的Web請求時會考慮它。
該@RequestMapping
註釋提供「路由」的信息。它告訴Spring,任何帶/
路徑的HTTP請求都應該映射到該home
方法。該@RestController
註解告訴Spring使獲得的字符串直接返回給調用者。
3.2:@EnableAutoConfiguration註釋
第二個類級註釋是@EnableAutoConfiguration
。這個註釋告訴Spring Boot根據你添加的jar依賴關係「猜想」你想要如何配置Spring。自從spring-boot-starter-web
添加了Tomcat和Spring MVC 以來,自動配置假定您正在開發Web應用程序並相應地設置Spring。
3.3:「main」方法
咱們的應用程序的最後一部分是main
方法。這只是遵循應用程序入口點的Java約定的標準方法。咱們的main方法SpringApplication
經過調用委託給Spring Boot的類run
。 SpringApplication
引導咱們的應用程序,啓動Spring,而後啓動自動配置的Tomcat Web服務器。咱們須要Example.class
做爲參數傳遞給run
方法,以告訴SpringApplication
哪一個是主要的Spring組件。該 args
數組也被傳遞以公開任何命令行參數。
3.4:運行示例
此時,您的應用程序應該工做。因爲您使用了 spring-boot-starter-parent
POM,run
所以您可使用一個有用的目標來啓動應用程序。mvn spring-boot:run
從根項目目錄中鍵入以啓動應用程序。您應該看到相似於如下內容的輸出
若是您打開Web瀏覽器localhost:8080
,您應該看到如下輸出:
To gracefully exit the application, press ctrl-c
.
固然咱們也能夠經過建立一個徹底自包含的可執行jar文件來完成咱們的示例,咱們能夠在生產中運行它。可執行jar(有時稱爲「fat jar」)是包含已編譯類以及代碼須要運行的全部jar依賴項的歸檔。