您好,登錄后才能下訂單哦!
4.第一個Spring Boot程序
本節(jié)介紹如何開發(fā)一個簡單的“Hello World!”Web應用程序。
我們使用Maven來構建這個項目,因為大多數(shù)IDE都支持它。
4.1使用Spring Initializr構建
Spring Initializr提供了一個簡單的Web 界面,用于自定義項目。
項目:項目類型(maven-project,gradle-project)
語言:要使用的編程語言(java,groovy或kotlin)
Spring Boot:Spring Boot版本
Group:項目組的ID,由groupId?Apache Maven中的屬性引用。
Artifact:工件的?ID,由artifactId?Apache Maven中的屬性引用。
名稱:項目的顯示名稱,它還確定Spring Boot應用程序的名稱。
描述:項目描述
包名:項目的根包。如果未指定,?則使用Group屬性的值
打包:項目打包。可以生成jar或war項目。
Java版本:要使用的Java版本(1.8,11)
4.2 Spring Boot代碼
4.2.1 POM文件
Maven?pom.xml是用來構建項目的配置。
您可以通過運行mvn package來測試它。
您可以將項目導入IDE(大多數(shù)現(xiàn)代Java IDE包括對Maven的內(nèi)置支持)。
為簡單起見,也可以使用純文本編輯器。
推薦使用Notepad++
4.2.2依賴關系
我們可以通過運行以下命令來查看當前的內(nèi)容:
$ mvn dependency:tree
發(fā)現(xiàn)許多依賴項,包括Tomcat Web服務器和Spring Boot本身。
4.2.3類文件
默認情況下,Maven編譯文件夾src/main/java下的源代碼。
4.2.4?@RestController注釋
@RestController被稱為?構造型注釋。它為閱讀代碼的人提供了提示,而為Spring提供了特定角色的提示。在這種情況下,我們的類是一個Web?@Controller,因此Spring在處理傳入的Web請求時會考慮它。
需要導入import org.springframework.web.bind.annotation.*;
4.2.5 @RequestMapping注釋
?
@RequestMapping注釋提供“路由”的信息。它告訴Spring,任何帶/路徑的HTTP請求都應該映射到該home方法。該?@RestController注解告訴Spring使得到的字符串直接返回給調用者。
4.2.6“main”方法
Main方法是Java約定的應用程序入口點的標準方法。
Main方法是通過調用run委托Spring引導的SpringApplication類。
修改后的SpringApplication類為以下內(nèi)容:
package com.example.demo;
?
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
?
import org.springframework.web.bind.annotation.*;
?
/**
?* Demo應用
?*
?* @author 大強
?*
?*/
@SpringBootApplication
@RestController
public class DemoApplication {
?
public static void main(String[] args) {
SpringApplication.run(DemoApplication.class, args);
}
?
@RequestMapping("/")
String home() {
return "Hello World!";
}
?
}
4.3運行程序
從根項目目錄中鍵入mvn spring-boot:run以啟動應用程序。
如果您打開Web瀏覽器localhost:8080,您應該看到以下輸出:Hello World!
要正常退出應用程序,請按ctrl-c。
4.4創(chuàng)建可執(zhí)行的Jar
要創(chuàng)建可執(zhí)行jar,從命令行運行mvn package,如下所示:$ mvn package
要運行該應用程序,請使用以下java -jar命令:
$ java -jar target/demo-0.0.1-SNAPSHOT.jar
和以前一樣,要退出應用程序,請按ctrl-c。
?
如有疑問,請觀看視頻:https://edu.51cto.com/course/19005.html
免責聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權內(nèi)容。