前言
本文將討論以下主題:
- 安裝 Java JDK、Gradle 或 Maven 和 Eclipse 或 IntelliJ IDEA
- 創(chuàng)建一個新的 Spring Boot 項(xiàng)目
- 運(yùn)行 Spring Boot 應(yīng)用程序
- 編寫一個簡單的 Web 應(yīng)用程序
- 打包應(yīng)用程序以用于生產(chǎn)環(huán)境
通過這些主題,您將能夠開始使用 Spring Boot 并創(chuàng)建自己的 Web 應(yīng)用程序。
介紹
Spring Boot是一個用于構(gòu)建基于Spring的應(yīng)用程序的框架。它通過提供一些默認(rèn)配置和約定來簡化開發(fā)過程,使得構(gòu)建可獨(dú)立運(yùn)行的、生產(chǎn)級別的應(yīng)用程序變得更加容易。
Spring Boot簡介
Spring Boot是Spring框架的擴(kuò)展版本,可以幫助開發(fā)者更快地創(chuàng)建基于Spring的應(yīng)用程序。與傳統(tǒng)的Spring開發(fā)相比,Spring Boot采用了自動配置機(jī)制,可以省去大量繁瑣的配置,同時還提供了很多常用功能的依賴庫,例如Web、JPA、數(shù)據(jù)源等。
為什么選擇Spring Boot
相對于其他Java開發(fā)框架,Spring Boot有以下優(yōu)點(diǎn):
- 快速開發(fā):使用Spring Boot可以快速搭建一個Web應(yīng)用程序,并具有一些默認(rèn)的配置,例如自動配置數(shù)據(jù)源、日志、信息視圖等。
- 易于部署:Spring Boot應(yīng)用程序可以打成jar包或war包并獨(dú)立運(yùn)行,這樣就不需要安裝Tomcat或其他Web服務(wù)器。
- 社區(qū)活躍:Spring Boot擁有龐大的社區(qū)支持,提供了豐富的文檔和示例代碼,方便開發(fā)者學(xué)習(xí)和使用。
非常感謝您的反饋,以下是更加詳細(xì)的安裝步驟:
準(zhǔn)備工作
在開始創(chuàng)建Spring Boot項(xiàng)目之前,需要安裝并配置好以下軟件:
- Java JDK:Java開發(fā)環(huán)境
- Gradle或Maven:構(gòu)建工具,用于管理項(xiàng)目依賴項(xiàng)和構(gòu)建過程
- Eclipse或IntelliJ IDEA:集成開發(fā)環(huán)境,用于編寫和調(diào)試代碼
安裝Java JDK
首先需要安裝Java JDK,可以從官方網(wǎng)站下載對應(yīng)版本的JDK進(jìn)行安裝。建議選擇最新的穩(wěn)定版JDK。
JAVA8
你可以根據(jù)大多數(shù)教程先配置JAVA_HOME,然后再去系統(tǒng)變量path中添加%JAVA_HOME%\bin
也可以直接添加bin完整目錄
查看版本
java -version
安裝Gradle或Maven
接下來需要安裝Gradle或Maven。Gradle是一種基于Groovy語言的構(gòu)建工具,而Maven是一種基于XML的構(gòu)建工具。兩者都可以用于管理項(xiàng)目依賴項(xiàng)和構(gòu)建過程,這里介紹其中一種。
安裝Gradle
Gradle是一個構(gòu)建工具,面向開發(fā)者的腳本語言是Groovy和Kotlin這里不做過多介紹
- 下載Gradle二進(jìn)制文件:訪問Gradle官網(wǎng),下載最新的Gradle二進(jìn)制文件。
- 解壓縮Gradle二進(jìn)制文件:將下載的Gradle二進(jìn)制文件解壓縮到任意目錄中。
- 配置環(huán)境變量:將Gradle的
bin
目錄添加到系統(tǒng)的環(huán)境變量PATH
中,確??梢栽诿钚兄惺褂肎radle。 - 通過
gradle -v
來查看版本。
安裝Maven
- 下載Maven二進(jìn)制文件:訪問Maven官網(wǎng),下載最新的Maven二進(jìn)制文件。
- 解壓縮Maven二進(jìn)制文件:將下載的Maven二進(jìn)制文件解壓縮到任意目錄中。
- 配置環(huán)境變量:將Maven的
bin
目錄添加到系統(tǒng)的環(huán)境變量PATH
中,確??梢栽诿钚兄惺褂肕aven。 - 通過
mvn -v
來查看版本。
安裝Eclipse或IntelliJ IDEA
最后需要安裝一個集成開發(fā)環(huán)境(IDE),如Eclipse或IntelliJ IDEA。
安裝Eclipse
- 下載Eclipse:訪問Eclipse官網(wǎng),下載最新的Eclipse IDE for Java Developers。
- 解壓縮Eclipse:將下載的Eclipse壓縮包解壓縮到任意目錄中。
- 啟動Eclipse:執(zhí)行Eclipse根目錄下的eclipse.exe文件,啟動Eclipse。
以上就是安裝Java JDK、Gradle或Maven、Eclipse或IntelliJ IDEA的具體步驟。如果您已經(jīng)完成了上述步驟,就可以開始創(chuàng)建Spring Boot項(xiàng)目了。
非常感謝您的反饋,以下是對IntelliJ IDEA的安裝教程和如何通過cmd查看Java JDK、Gradle、Maven版本的介紹:
安裝IntelliJ IDEA
IntelliJ IDEA是一種常用的Java開發(fā)IDE,可以從官方網(wǎng)站JetBrains官網(wǎng)下載適合自己電腦的版本進(jìn)行安裝。根據(jù)操作系統(tǒng)選擇對應(yīng)的版本進(jìn)行下載,然后按照向?qū)нM(jìn)行安裝即可。
創(chuàng)建Spring Boot項(xiàng)目
Spring Initializr是一個web應(yīng)用程序,用于生成基于Spring Boot的新項(xiàng)目,我們可以直接訪問它的網(wǎng)站Spring Initializr進(jìn)行使用。下面將演示如何使用Spring Initializr創(chuàng)建一個新項(xiàng)目。
- 打開Spring Initializr網(wǎng)站
- 選擇“Project”頁面,選擇構(gòu)建工具和Spring Boot版本
- 選擇“Dependencies”頁面,添加所需依賴項(xiàng)
- 點(diǎn)擊“Generate”按鈕以生成項(xiàng)目框架
.
├── src/
│ ├── main/
│ │ ├── java/
│ │ │ └── com/example/demo/
│ │ │ └── DemoApplication.java
│ │ └── resources/
│ │ ├── application.properties
│ │ └── static/
│ └── test/
│ ├── java/
│ │ └── com/example/demo/
│ │ └── DemoApplicationTests.java
│ └── resources/
│ └── application_test.properties
├── pom.xml
└── README.md
使用 Maven 構(gòu)建 Spring Boot 項(xiàng)目
分析項(xiàng)目結(jié)構(gòu)
使用Maven構(gòu)建Spring Boot項(xiàng)目時,它將使用標(biāo)準(zhǔn)的Maven目錄結(jié)構(gòu):
├── src
│ ├── main
│ │ ├── java # Java源代碼
│ │ └── resources # 配置文件、資源文件等
│ └── test
│ ├── java # 測試代碼
│ └── resources # 測試配置文件、資源文件等
└── pom.xml # Maven項(xiàng)目描述文件
在pom.xml
中添加spring-boot-starter-parent
作為父依賴項(xiàng),這將提供Spring Boot所需的所有默認(rèn)設(shè)置。還可以添加其他任何需要的依賴項(xiàng)。例如,在本例中,我們將添加Web依賴項(xiàng)。
<project xmlns="http://maven.apache.org/POM/4.0.0"
<!--...-->
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>{spring-boot-version}</version>
</parent>
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
</dependencies>
</project>
運(yùn)行應(yīng)用程序
使用Maven運(yùn)行Spring Boot應(yīng)用程序很容易。只需要執(zhí)行以下命令即可:
mvn spring-boot:run
IntelliJ IDEA maven配置
Whitelabel
這將啟動應(yīng)用程序并在控制臺中輸出應(yīng)用程序的日志信息。當(dāng)應(yīng)用程序啟動后,可以在Web瀏覽器中訪問localhost:8080
查看結(jié)果。
因?yàn)閼?yīng)用程序沒有正確處理Web請求而導(dǎo)致了Whitelabel錯誤。按照以下步驟可以解決該問題:
-
確認(rèn)
404
頁面是Spring Boot的默認(rèn)錯誤頁面,表示我們的請求在Web服務(wù)中不存在。 -
創(chuàng)建一個新的控制器類,并添加相應(yīng)的方法來處理Web請求。例如,在您的項(xiàng)目中創(chuàng)建一個名為
HelloController
的類,實(shí)現(xiàn)以下功能:- 響應(yīng)/hello請求。
- 返回“hello, springboot”。
-
修改
HelloController
類并導(dǎo)入所需的依賴項(xiàng),如下所示:
package com.example.demo.controller;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.ResponseBody;
@Controller
public class HelloController {
@GetMapping("/hello")
@ResponseBody
public String hello() {
return "hello, springboot";
}
}
- 重新啟動應(yīng)用程序并訪問
http://localhost:8080/hello
,您應(yīng)該會看到類似于“hello, springboot”的消息。如果能正常響應(yīng),則說明問題已經(jīng)解決了。
使用 Gradle 構(gòu)建 Spring Boot 項(xiàng)目
Gradle是一個構(gòu)建工具,面向開發(fā)者的腳本語言是Groovy和Kotlin這里不做過多介紹
分析項(xiàng)目結(jié)構(gòu)
使用Gradle構(gòu)建Spring Boot項(xiàng)目時,它將使用標(biāo)準(zhǔn)的Gradle目錄結(jié)構(gòu):
├── build.gradle # Gradle項(xiàng)目描述文件
├── gradle
│ └── wrapper
│ ├── gradle-wrapper.jar
│ └── gradle-wrapper.properties
├── settings.gradle # Gradle項(xiàng)目設(shè)置文件
├── src
│ ├── main
│ │ ├── java # Java源代碼
│ │ └── resources # 配置文件、資源文件等
│ └── test
│ ├── java # 測試代碼
│ └── resources # 測試配置文件、資源文件等
在build.gradle
中添加spring-boot-starter
作為依賴項(xiàng),這將提供Spring Boot所需的所有默認(rèn)設(shè)置。還可以添加其他任何需要的依賴項(xiàng)。例如,在本例中,我們將添加Web依賴項(xiàng)。
plugins {
id 'java'
id 'org.springframework.boot' version '{spring-boot-version}'
}
dependencies {
implementation 'org.springframework.boot:spring-boot-starter-web'
}
運(yùn)行應(yīng)用程序
使用Gradle運(yùn)行Spring Boot應(yīng)用程序很容易。只需要執(zhí)行以下命令即可:
./gradlew bootRun
這將啟動應(yīng)用程序并在控制臺中輸出應(yīng)用程序的日志信息。當(dāng)應(yīng)用程序啟動后,可以在Web瀏覽器中訪問localhost:8080
查看結(jié)果。
編寫第一個Web應(yīng)用程序
使用 Maven
創(chuàng)建一個名為DemoController
的類,它將處理來自Web瀏覽器的HTTP請求,并返回一條消息。
@RestController
public class DemoController {
@GetMapping("/hello")
public String hello() {
return "Hello World";
}
}
與使用Gradle時相同,@RestController
注解表示這個類將處理HTTP請求,并且@GetMapping
注解表示這個方法將處理HTTP GET請求。在這種情況下,當(dāng)用戶訪問/hello
時,將調(diào)用hello()
方法并返回一個字符串。
現(xiàn)在,重新啟動應(yīng)用程序并在Web瀏覽器中訪問localhost:8080/hello
,您應(yīng)該看到一個包含"Hello World"消息的響應(yīng)。
使用 Gradle
創(chuàng)建一個名為DemoController
的類,它將處理來自Web瀏覽器的HTTP請求,并返回一條消息。
@RestController
public class DemoController {
@GetMapping("/hello")
public String hello() {
return "Hello World";
}
}
@RestController
注解表示這個類將處理HTTP請求,并且@GetMapping
注解表示這個方法將處理HTTP GET請求。在這種情況下,當(dāng)用戶訪問/hello
時,將調(diào)用hello()
方法并返回一個字符串。
現(xiàn)在,重新啟動應(yīng)用程序并在Web瀏覽器中訪問localhost:8080/hello
,您應(yīng)該看到一個包含"Hello World"消息的響應(yīng)。
打包成可執(zhí)行jar包
我們還可以將Spring Boot應(yīng)用程序打包成可執(zhí)行的jar文件。在pom.xml或build.gradle文件中添加以下插件依賴:
使用Maven:
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
</plugins>
</build>
使用Gradle:
plugins {
id 'org.springframework.boot' version '2.5.1'
}
bootJar {
enabled = true
}
然后執(zhí)行以下命令進(jìn)行打包:
- 使用Maven:
mvn package
mvn package
和mvn clean package
都是Maven命令,用于構(gòu)建項(xiàng)目并生成可執(zhí)行的JAR或WAR文件。
mvn package
會執(zhí)行以下步驟:
- 編譯源代碼
- 運(yùn)行單元測試
- 打包編譯后的代碼到JAR或WAR文件中
而mvn clean package
則會在執(zhí)行以上步驟之前先執(zhí)行清理操作,即刪除已經(jīng)生成的目標(biāo)文件夾以及其他編譯產(chǎn)生的臨時文件。然后再執(zhí)行上述步驟。
因此,mvn clean package
比mvn package
更加徹底,可以確保您得到最新的編譯結(jié)果。如果您在編譯過程中遇到了問題,并且認(rèn)為這些問題可能與緩存數(shù)據(jù)有關(guān),則可以嘗試使用mvn clean package
來解決這些問題。
總之,mvn clean package
相對于mvn package
會花費(fèi)更多的時間,但通常會更安全、更可靠,可以防止一些不必要的錯誤。
- 使用Gradle:
gradlew build
打包完成后,可以在target/
目錄下找到生成的可執(zhí)行jar文件。要運(yùn)行jar文件,請使用以下命令:
java -jar target\demo-0.0.1-SNAPSHOT.jar
實(shí)現(xiàn)熱部署
對于開發(fā)人員而言,熱部署是一個非常有用的功能,可以避免頻繁重啟應(yīng)用程序。Spring Boot提供了兩種方式實(shí)現(xiàn)熱部署:使用spring-boot-devtools
和JRebel插件。
spring-boot-devtools
spring-boot-devtools
是一個內(nèi)置的開發(fā)者工具,可以自動檢測代碼更改并重新加載應(yīng)用程序。要使用spring-boot-devtools
,只需在pom.xml或build.gradle中添加以下依賴項(xiàng):
使用Maven:
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-devtools</artifactId>
</dependency>
</dependencies>
使用Gradle:
dependencies {
developmentOnly 'org.springframework.boot:spring-boot-devtools'
}
啟用IDEA的“Make Project Automatically”選項(xiàng)。在IDEA中,可以通過選中菜單欄的"File -> Settings -> Build, Execution, Deployment -> Compiler"來啟用自動構(gòu)建。
在IDE中啟動應(yīng)用程序并進(jìn)行調(diào)試時,任何更改都會自動重新加載應(yīng)用程序。
你需要先打開自動構(gòu)建項(xiàng)目
Debug模式啟動后,
即可自動檢測代碼更改并重新加載應(yīng)用程序
切換Maven倉庫路徑,不放在C盤
在Windows操作系統(tǒng)上切換Maven本地存儲庫路徑并創(chuàng)建空文件夾的具體教程:
-
打開資源管理器,找到要用于存儲Maven本地存儲庫的新文件夾的位置。例如,可以創(chuàng)建一個名為“repository”的文件夾。
-
在該文件夾中右鍵單擊,選擇“新建”>“文件夾”,然后命名為“repository”。
-
打開Maven的配置文件settings.xml。該文件通常位于Maven的安裝目錄下的conf文件夾中。
-
找到以下行:
<localRepository>${user.home}/.m2/repository</localRepository>
- 添加新文件夾的路徑。例如,如果新文件夾位于E:\Downloads\apache-maven-3.8.5-bin\repository文件夾中,則為:
<localRepository>E:\Downloads\apache-maven-3.8.5-bin\repository</localRepository>
-
保存settings.xml文件并關(guān)閉它。
-
現(xiàn)在,在新的本地存儲庫路徑(即E:\Downloads\apache-maven-3.8.5-bin\repository)中創(chuàng)建一個空的pom.xml文件。這個文件可以是一個空文件,也可以包含一些基本信息和依賴項(xiàng)。您可以使用文本編輯器或Maven命令行工具來創(chuàng)建這個文件,具體取決于您的喜好。
-
在新的Maven本地存儲庫中構(gòu)建您的項(xiàng)目。Maven將自動在新的本地存儲庫中查找需要的依賴項(xiàng),并將其下載到該位置。
-
項(xiàng)目終端輸入
mvn spring-boot:run
在第一次構(gòu)建項(xiàng)目時,Maven將自動在新的本地存儲庫中創(chuàng)建所需的目錄結(jié)構(gòu)和文件,并下載所有需要的依賴項(xiàng)。這可能會花費(fèi)一些時間,具體取決于您的網(wǎng)絡(luò)速度和依賴項(xiàng)的數(shù)量。
請注意,在使用新的本地存儲庫之前,確保您已經(jīng)更新了settings.xml文件以指向新的本地存儲庫路徑。如果您在settings.xml文件中沒有更新localRepository元素的值,則Maven仍然會在默認(rèn)位置${user.home}/.m2/repository
中查找依賴項(xiàng),而不是在新的本地存儲庫中。
- IDEA同步路徑
Maven的常用命令:
-
mvn dependency:purge-local-repository
:該命令將從本地存儲庫中刪除所有已解析的依賴項(xiàng)和插件。這對于解決依賴項(xiàng)版本沖突或清理本地存儲庫非常有用。 -
mvn dependency:tree
:該命令將以樹形結(jié)構(gòu)顯示項(xiàng)目依賴項(xiàng)及其傳遞依賴項(xiàng)。這對于檢查依賴項(xiàng)版本、沖突或排除不需要的依賴項(xiàng)非常有用。 -
mvn dependency:list
:該命令將列出當(dāng)前項(xiàng)目的所有依賴項(xiàng)。它與mvn dependency:tree
不同之處在于,它只列出直接依賴項(xiàng)而不顯示傳遞依賴項(xiàng)。 -
mvn dependency:resolve
:該命令將解析并下載所有項(xiàng)目依賴項(xiàng),但不會將它們復(fù)制到本地存儲庫中。 -
mvn dependency:analyze
:該命令將分析項(xiàng)目依賴項(xiàng)并生成報(bào)告,其中包含未使用的依賴項(xiàng)和可能產(chǎn)生潛在問題的依賴項(xiàng)。 -
mvn clean package
:清空目標(biāo)文件夾并打包項(xiàng)目為JAR或WAR文件。 -
mvn clean install
:清空目標(biāo)文件夾并安裝項(xiàng)目到本地Maven存儲庫中。 -
mvn package -DskipTests
:打包項(xiàng)目并跳過測試。這可以在您需要快速構(gòu)建項(xiàng)目時使用,而不必等待測試完成。 -
mvn clean package -Dmaven.test.skip=true
:清空目標(biāo)文件夾并打包項(xiàng)目為JAR或WAR文件,同時跳過測試。 -
mvn archetype:generate
:生成Maven項(xiàng)目原型。該命令允許您選擇要創(chuàng)建的項(xiàng)目類型和模板,并自動生成項(xiàng)目結(jié)構(gòu)。 -
mvn site
:生成項(xiàng)目站點(diǎn)文檔。這將生成靜態(tài)HTML網(wǎng)頁,其中包含有關(guān)項(xiàng)目的各種信息,例如源代碼、測試結(jié)果、依賴項(xiàng)、開發(fā)者列表等。 -
mvn versions:display-dependency-updates
:檢查項(xiàng)目依賴項(xiàng)的最新版本,并將其與當(dāng)前版本進(jìn)行比較。這可幫助您確定哪些依賴項(xiàng)需要更新。
請注意,這些只是一些常用的Maven命令,還有很多其他命令和選項(xiàng)可供使用。要了解更多信息,請參閱Maven文檔或運(yùn)行mvn --help
命令以獲取完整的幫助文檔。
這些命令可以幫助你管理項(xiàng)目依賴項(xiàng),解決依賴項(xiàng)相關(guān)問題,并確保項(xiàng)目的穩(wěn)定性和可靠性。
總結(jié)
通過本文,您已經(jīng)了解了如何使用Spring Boot創(chuàng)建Web應(yīng)用程序。我們首先討論了Spring Boot的基礎(chǔ)知識,然后介紹了如何設(shè)置您的開發(fā)環(huán)境。接下來,我們演示了如何使用Maven和Gradle構(gòu)建Spring Boot項(xiàng)目,并分析了項(xiàng)目的結(jié)構(gòu)。最后,我們編寫了一個簡單的Web應(yīng)用程序,并演示了如何打包成可執(zhí)行jar包和實(shí)現(xiàn)熱部署。文章來源:http://www.zghlxwxcb.cn/news/detail-731920.html
我們希望本文對您有所幫助,使您能夠以更快、更輕松的方式創(chuàng)建優(yōu)秀的Spring Boot Web應(yīng)用程序。文章來源地址http://www.zghlxwxcb.cn/news/detail-731920.html
到了這里,關(guān)于快速入門:使用 Spring Boot 構(gòu)建 Web 應(yīng)用程序的文章就介紹完了。如果您還想了解更多內(nèi)容,請?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!