1. 程式人生 > >SpringBoot(一):構建一個SpringBoot專案

SpringBoot(一):構建一個SpringBoot專案

SpringBoot為我們提供了一系列的依賴包,所以需要構建工具的支援:Maven或Gradle。博主更習慣使用Maven,暫時學習教程基本採用所Maven與IntelliJ IDEA;新公司使用的是Gradle,所以後續可能會使用Gradle。框架基於目前最新的SpringBoot 2.1.1。

一、建立專案

第一個專案,先做一個簡單的demo,能跑起來即可。

1.點選 File -> Project;

2.選擇Spring Initializr;

第一次用,建議選擇的是Spring Initializr(官方的構建外掛,需要聯網),還有Maven

Gradle可選,後續可選用。

選擇SDK版本,本專案用的是JDK 1.8,然後點選Next。

3.填寫專案基本資訊

風塵部落格

  1. Group:組織ID,一般分為兩段,第一段為域,第二段為公司名稱。域又分為org、com、cn等等,其中org為非營利組織,com為商業組織;
  2. Artifact:唯一識別符號,一般是專案名稱;
  3. Description:專案描述。

###4.選擇包

風塵部落格

  1. 選擇最新的SpringBoot版本,最新的為2.1.1,即圖中version;
  2. Spring Initializr為我們提供了很多的選項,不同的選項有不同的作用,第一個專案只需要依賴Web -> Web
    就可以了,選擇好依賴包之後點選Next->Finish

5.目錄結果

- src
    -main
        -java
            -package
                #主函式,啟動類,執行它如果運行了 Tomcat、Jetty、Undertow 等容器
                -SpringbootApplication    
        -resouces
            #存放靜態資源 js/css/images 等
            - statics
            #存放 html 模板檔案
            - templates
            #主要的配置檔案,SpringBoot啟動時候會自動載入application.yml/application.properties        
            - application.yml
    #測試檔案存放目錄        
    -test
 # pom.xml 檔案是Maven構建的基礎,裡面包含了我們所依賴JAR和Plugin的資訊
- pom

6.pom.xml 依賴

注意的是版本要選擇RELEASE,穩定版本BUG少

<?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 http://maven.apache.org/xsd/maven-4.0.0.xsd">

    <modelVersion>4.0.0</modelVersion>
    <groupId>com.van.dusty</groupId>
    <artifactId>demo</artifactId>
    <version>0.0.1-SNAPSHOT</version>
    <packaging>jar</packaging>
    <name>demo</name>
    <description>第一個SpringBoot專案</description>

    <!--版本採用的是最新的 2.1.1.RELEASE TODO 開發中請記得版本一定要選擇 RELEASE 哦 -->
    <parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>2.1.1.RELEASE</version>
        <relativePath/> <!-- lookup parent from repository -->
    </parent>


    <properties>
        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
        <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
        <java.version>1.8</java.version>
    </properties>

    <dependencies>
        <!-- SpringBoot預設就內嵌了Tomcat 容器-->
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
        </dependency>
        <!-- 測試包,當我們使用 mvn package 的時候該包並不會被打入,因為它的生命週期只在 test 之內-->
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-test</artifactId>
            <scope>test</scope>
        </dependency>
    </dependencies>

    <build>
        <plugins>
            <!-- 編譯外掛 maven -->
            <plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
            </plugin>
        </plugins>
    </build>
    
</project>

7.主函式入口

一個專案中千萬不要出現多個main函式,否在在打包的時候spring-boot-maven-plugin將找不到主函式(主動指定打包主函式入口除外…)

package com.van.dusty;

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RestController;

/**
 * 第一個springboot程式的啟動類
 * 其中 @RestController 等同於 (@Controller 與 @ResponseBody)
 */

@RestController
@SpringBootApplication
public class SpringBootDemoApplication {

    public static void main(String[] args) {
        SpringApplication.run(SpringBootDemoApplication.class, args);
    }

    @GetMapping("/demo")
    public String demo() {
        return "Hello Luis";
    }
}

二、專案啟動-測試

SpringBoot預設的埠是 8080,啟動專案後直接訪問http://localhost:8080/demo進行測試。

三、專案原始碼

本專案原始碼:https://github.com/vanDusty/SpringBoot-Home/tree/master/SpringBoot-demo
個人部落格:https://www.dustyblog.cn