使用Maven構(gòu)建SpringBoot項(xiàng)目-創(chuàng)新互聯(lián)

前言

網(wǎng)上介紹了許多如何創(chuàng)建Springboot項(xiàng)目,大多數(shù)基于IDE開發(fā)工具并且用Maven管理,如果在當(dāng)前的開發(fā)環(huán)境并不充裕下,我們可以直接使用Maven命令來(lái)創(chuàng)建管理SpringBoot項(xiàng)目,對(duì)于習(xí)慣使用命令來(lái)創(chuàng)建項(xiàng)目來(lái)說(shuō)比較的方便、同時(shí)更好的理解SpringBoot的項(xiàng)目結(jié)構(gòu)。

成都創(chuàng)新互聯(lián)專注于康平網(wǎng)站建設(shè)服務(wù)及定制,我們擁有豐富的企業(yè)做網(wǎng)站經(jīng)驗(yàn)。 熱誠(chéng)為您提供康平營(yíng)銷型網(wǎng)站建設(shè),康平網(wǎng)站制作、康平網(wǎng)頁(yè)設(shè)計(jì)、康平網(wǎng)站官網(wǎng)定制、小程序開發(fā)服務(wù),打造康平網(wǎng)絡(luò)公司原創(chuàng)品牌,更為您提供康平網(wǎng)站排名全網(wǎng)營(yíng)銷落地服務(wù)。1.創(chuàng)建一個(gè)Maven項(xiàng)目 1.1使用Maven創(chuàng)建一個(gè)簡(jiǎn)單的Java項(xiàng)目

以VSCode為例,Ctrl + ` 快捷鍵打開終端
在這里插入圖片描述
假設(shè)項(xiàng)目的名稱為 example
在控制臺(tái)中輸入如下Maven指令即可生成

mvn archetype:generate
 "-DgroupId=com.project"
 "-DartifactId=example" 
 "-DarchetypeArtifactId=maven-archetype-quickstart"
 "-DinteractiveMode=false"
  1. -DgroupId=com.project:組id。
  2. -DartifactId=example:項(xiàng)目名稱,maven會(huì)根據(jù)這個(gè)名稱在當(dāng)前目錄下新建一個(gè)名為該名稱的目錄用于建立項(xiàng)目。
  3. -DarchetypeArtifactId:項(xiàng)目原型,使用哪種原型來(lái)創(chuàng)建項(xiàng)目的初始結(jié)構(gòu),在這里,我們先使用maven-archetype-quickstart創(chuàng)建一個(gè)簡(jiǎn)單的 Java 應(yīng)用。
  4. -DinteractiveMode=false :是否已交互模式進(jìn)行,如果是false的話就會(huì)采用默認(rèn)設(shè)置建立項(xiàng)目。

創(chuàng)建成功后如圖所示,控制臺(tái)所示
在這里插入圖片描述

1.2項(xiàng)目結(jié)構(gòu)介紹

在這里插入圖片描述

注意:上面構(gòu)建的只是一個(gè)簡(jiǎn)單的 Java 項(xiàng)目,如果是構(gòu)建 Web 項(xiàng)目,我們還需要對(duì)目錄結(jié)構(gòu)進(jìn)行調(diào)整,便于我們后續(xù)開發(fā),我們需要做如下調(diào)整。

  1. App.java 和 AppTest.java 這兩個(gè)文件我們不需要,可以直接刪除掉。
  2. 在 main 目錄下添加 resources 目錄,用于存放資源文件。
  3. 在 example/src/main/java/com/project包下創(chuàng)建 example包,并在 /example包下創(chuàng)建 exampleApplication.java 類,作為整個(gè)項(xiàng)目的啟動(dòng)項(xiàng)。

經(jīng)過(guò)調(diào)整,目錄結(jié)構(gòu)如下圖所示:
在這里插入圖片描述

1.3添加項(xiàng)目依賴
4.0.0com.projectexamplejar1.0-SNAPSHOTexamplehttp://maven.apache.org用戶權(quán)限管理系統(tǒng)org.springframework.bootspring-boot-starter-parent2.3.1.RELEASEUTF-8UTF-81.8org.springframework.bootspring-boot-starter-weborg.springframework.bootspring-boot-maven-plugin
1.4添加啟動(dòng)類

在啟動(dòng)類中加入main方法,設(shè)置為啟動(dòng)類。

package com.project.example;

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.boot.web.servlet.ServletComponentScan;

@ServletComponentScan
@SpringBootApplication
public class exampleApplication {public static void main(String[] args) {SpringApplication.run(exampleApplication.class,args);
        System.out.println("你好,這里是example項(xiàng)目");
    }
}
1.5編譯打包項(xiàng)目

終端輸入如下命令下載依賴

mvn clean install

執(zhí)行完畢后,項(xiàng)目結(jié)構(gòu)如下:
在這里插入圖片描述

執(zhí)行完上面語(yǔ)句后(或者在創(chuàng)建完項(xiàng)目后),在項(xiàng)目根目錄下多了一個(gè) target 目錄。target 是用來(lái)存放項(xiàng)目構(gòu)建后的 jar 包、war 包以及編譯的 class 文件等文件,target 目錄下的所有內(nèi)容均為 Maven 構(gòu)建項(xiàng)目過(guò)程中生成的。

1.6添加controller內(nèi)容

項(xiàng)目觸目搭建成功,下面來(lái)編寫一個(gè)Controller接口來(lái)驗(yàn)證項(xiàng)目是否創(chuàng)建成功

  1. 在 example/src/main/java/com/project/example包下創(chuàng)建 system 包(可以去任何名稱),用于存放業(yè)務(wù)相關(guān)的代碼。
  2. 在 system 包下添加 controller 包,用于存放前端接口控制器的類。
  3. 在 controller 包下添加FirstController.java 類,作為項(xiàng)目啟動(dòng)的測(cè)試類。
package com.project.system.controller;

import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RestController;

@RestController//Controller 里面的方法都以 json 格式輸出
public class FirstController {@GetMapping("/first")
    public String first(){return "你好";
    }
}
2.啟動(dòng)項(xiàng)目

下面將介紹兩種常用的控制臺(tái)啟動(dòng)項(xiàng)目的方式。

  1. 使用 Maven 啟動(dòng)項(xiàng)目。
  2. 運(yùn)行 jar 包啟動(dòng)項(xiàng)目。

此處我們是用Maven命令啟動(dòng)項(xiàng)目

2.1使用Maven啟動(dòng)項(xiàng)目
mvn package 編譯打包
mvn spring-boot:run 啟動(dòng)項(xiàng)目

啟動(dòng)完成后,控制臺(tái)出現(xiàn)如下圖所示即為啟動(dòng)成功:
在這里插入圖片描述

3.SpringBoot配置文件詳解 3.1配置文件使用說(shuō)明

在 Spring Boot 項(xiàng)目中,支持如下兩種文件格式的配置文件。

application.properties
application.yml

下面我們來(lái)看看 properties 配置文件和 yml 配置文件的區(qū)別。

  • application.properties 就是常規(guī)的 key=value 格式配置文件,例:
# 默認(rèn)加載配置項(xiàng)
spring.profiles.active=prod
spring.datasource.driver-class-name=com.mysql.jdbc.Driver
spring.datasource.url=jdbc:mysql://127.0.0.1:3306/test
spring.datasource.username=root
spring.datasource.password=root

properties 文件有一個(gè)缺點(diǎn),當(dāng)要配置的參數(shù)比較多時(shí),你就會(huì)發(fā)現(xiàn)它的層次不是那么清晰,不便于閱讀。而且很多同層級(jí)的名稱都是重復(fù)的。

  • yml 文件的基本寫法為: key: (空格) value 。值得注意的是,鍵和值中間用冒號(hào)加上空格連接,缺一不可,否則無(wú)法讀取配置項(xiàng),案例如下。
spring:
  profiles:
    active: prod
  datasource:
    driver-class-name: com.mysql.jdbc.Driver
    url: jdbc:mysql://127.0.0.1:3306/test
    username: root
    password: root

注意:上下層級(jí)的關(guān)系用空格表示,空格格數(shù)沒(méi)有要求,只要是左對(duì)齊的一列數(shù)據(jù)都是同一個(gè)層級(jí)的就行。為了美觀建議使用 Tab 縮進(jìn)或者統(tǒng)一空 4 格區(qū)分上下級(jí)。

properties 文件和 yml 文件都作為配置文件,他們的目的并沒(méi)有區(qū)別,相比 properties 配置文件,yml 配置文件在寫的時(shí)候?qū)哟胃袕?qiáng)。Spring 官方推薦使用的格式是 .yml 格式,所以目前大部分 Spring Boot 的 Web 項(xiàng)目的配置文件都是使用 yml 文件。本篇文章中我們也將使用 yml 文件作為項(xiàng)目的配置文件。

3.2配置端口和路徑

在 /src/main/resources 目錄下創(chuàng)建 application.yml 文件,并寫入如下配置內(nèi)容,我們就可以修改項(xiàng)目的根路徑。

server:
  # 配置端口
  # port: 8080
  servlet:
    # 設(shè)置項(xiàng)目路徑
    context-path: /example

添加完畢后,我們重新打包,運(yùn)行項(xiàng)目。

mvn package 編譯打包
mvn spring-boot:run 啟動(dòng)項(xiàng)目

打開瀏覽器,輸入localhost:8080/upms/hello 進(jìn)行訪問(wèn),如下圖所示:
在這里插入圖片描述

3.3自定義配置屬性

除了系統(tǒng)提供的配置,我們也可以在 application.yml 中添加如下自定義的配置。

server:
  # 配置端口
  port: 8080
  servlet:
    # 設(shè)置項(xiàng)目路徑
    context-path: /example

# 自定義配置
example:
  name: example
  version: 0.0.1
  description: example項(xiàng)目

如果想使用配置項(xiàng),我們只需要在類的屬性前加上注解 @Value(“${屬性名}”),我們可以在 controller/FirstController.java 中添加如下內(nèi)容:

package com.project.example.system.controller;

import org.springframework.beans.factory.annotation.Value;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RestController;

@RestController // Controller 里面的方法都以 json 格式輸出
public class FirstController {@Value("${example.name}")
    private String appName;

    @Value("${example.version}")
    private String appVersion;

    @Value("${example.description}")
    private String appDescription;

    @GetMapping("/Msg")
    public String Msg() {return "名稱:" + appName + "," +
               "版本:" + appVersion + " ," +
               "描述" + appDescription;
    }

    @GetMapping("/first")
    public String first() {return "你好";
    }
}

添加完畢后,我們重新打包,運(yùn)行項(xiàng)目。

mvn package 編譯打包
mvn spring-boot:run 啟動(dòng)項(xiàng)目

打開瀏覽器,輸入localhost:8080/upms/Msg進(jìn)行訪問(wèn),如下圖所示:

在這里插入圖片描述

3.4多環(huán)境配置

在開發(fā)項(xiàng)目的過(guò)程中,可能一套程序需要在不同的環(huán)境中發(fā)布,它的數(shù)據(jù)庫(kù)配置、端口配置或者其他配置各不相同,如果每次都來(lái)根據(jù)需要修改對(duì)應(yīng)的環(huán)境配置,是非常容易配置錯(cuò)誤的,造成不必要的麻煩。
通常這種情況下,我們可以針對(duì)不同的環(huán)境配置不同的配置文件來(lái)解決。在 Spring Boot 項(xiàng)目中,默認(rèn)支持下面這兩種格式的。

  • application-{name}.properties
  • application-{name}.yml

其中 {name} 對(duì)應(yīng)環(huán)境標(biāo)識(shí)。我們?cè)?Spring Boot 項(xiàng)目中也可以創(chuàng)建不同的配置文件,文件名以 application-{name}.yml 的格式。

  • application-dev.yml 開發(fā)環(huán)境
  • application-test.yml 測(cè)試環(huán)境
  • application-prod.yml 生產(chǎn)環(huán)境

我們?cè)?src/main/java/resources 目錄下創(chuàng)建如下圖所示的配置文件。
在這里插入圖片描述
在 application-dev.yml 配置文件中添加如下內(nèi)容。

# 自定義配置
example:
  name: example
  version: 0.0.2
  description: example項(xiàng)目(開發(fā)環(huán)境)

在 application-prod.yml 配置文件中添加如下信息。

# 自定義配置
example:
  name: example
  version: 0.0.3
  description: example項(xiàng)目(生產(chǎn)環(huán)境)

在 application-test.yml 配置文件中添加如下信息。

# 自定義配置
example:
  name: example
  version: 0.0.4
  description: example項(xiàng)目(測(cè)試環(huán)境)

在 application-test.yml 配置文件中添加如下信息。

# 自定義配置
example:
  name: example
  version: 0.0.4
  description: example項(xiàng)目(測(cè)試環(huán)境)

然后在配置文件 application.yml 中添加 spring.profiles.active 來(lái)設(shè)置當(dāng)前使用的環(huán)境,其中 test 代表默認(rèn)啟用 application-test.yml 配置文件。
在這里插入圖片描述

也可以將 test 修改成 dev 或者 prod 后測(cè)試看下效果,這里我們就不再演示了。

4.個(gè)性化Banner配置

我們注意到 Spring Boot 項(xiàng)目啟動(dòng)時(shí),控制臺(tái)會(huì)打印自帶的 Banner,如下圖所示:在這里插入圖片描述
如果我們也想自己定制一個(gè)怎么辦,這里有個(gè)定制 Banner 的網(wǎng)站
英文ASCII藝術(shù)字,Spring Boot自定義啟動(dòng)Banner在線生成工具
文字、圖片都可以秀起來(lái),怎么秀就看你的了.
只需要在 /resources 目錄下創(chuàng)建一個(gè) banner.txt 文件,添加位置如下:
在這里插入圖片描述
并在 banner.txt 文件中添加如下內(nèi)容。

   _ __     _            
   ___    __ __   __ _    _ __    | '_ \   | |     ___   
  / -_)   \ \ /  / _` |  | '  \   | .__/   | |    / -_)  
  \___|   /_\_\  \__,_|  |_|_|_|  |_|__   _|_|_   \___|  
_|"""""|_|"""""|_|"""""|_|"""""|_|"""""|_|"""""|_|"""""| 
"`-0-0-'"`-0-0-'"`-0-0-'"`-0-0-'"`-0-0-'"`-0-0-'"`-0-0-'

添加完畢后,Spring Boot 啟動(dòng)的時(shí)候會(huì)去加載這個(gè)文件,重新編譯運(yùn)行就可以看到效果。

mvn package 編譯打包
mvn spring-boot:run 啟動(dòng)項(xiàng)目

在這里插入圖片描述
雖然用處不大,但是看起來(lái)很炫酷,哈哈哈

結(jié)束

在本篇文章中,介紹了如何使用 Spring Boot 來(lái)搭建 Java Web 項(xiàng)目,通過(guò) Maven 工具安裝、打包和運(yùn)行整個(gè)項(xiàng)目,項(xiàng)目構(gòu)建完畢后,設(shè)置了自定義配置項(xiàng),并在項(xiàng)目中使用配置信息,針對(duì)不同環(huán)境定制不同的配置項(xiàng)。并且提供一個(gè)簡(jiǎn)單的請(qǐng)求驗(yàn)證了項(xiàng)目的運(yùn)行效果,最后為項(xiàng)目定制了一個(gè) Banner。

以上為個(gè)人的學(xué)習(xí)使用心得,如有不對(duì)請(qǐng)指出,歡迎大家討論。

你是否還在尋找穩(wěn)定的海外服務(wù)器提供商?創(chuàng)新互聯(lián)www.cdcxhl.cn海外機(jī)房具備T級(jí)流量清洗系統(tǒng)配攻擊溯源,準(zhǔn)確流量調(diào)度確保服務(wù)器高可用性,企業(yè)級(jí)服務(wù)器適合批量采購(gòu),新人活動(dòng)首月15元起,快前往官網(wǎng)查看詳情吧

分享題目:使用Maven構(gòu)建SpringBoot項(xiàng)目-創(chuàng)新互聯(lián)
當(dāng)前URL:http://bm7419.com/article28/dsdijp.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供定制網(wǎng)站、營(yíng)銷型網(wǎng)站建設(shè)、小程序開發(fā)、手機(jī)網(wǎng)站建設(shè)靜態(tài)網(wǎng)站、服務(wù)器托管

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)

h5響應(yīng)式網(wǎng)站建設(shè)