【SpringBoot學習一】開發入門--快速建立springboot程式

airl發表於2022-03-31

前言

本片部落格記錄快速建立springboot工程的兩種方式。一種是使用maven建立,一種是使用spring initializr建立。開發環境JDK1.8、IDEA、maven。

SpringBoot 優點

  • 可快速構建spring應用
  • 直接嵌入tomcat、jetty、undenrtow伺服器(無須部署war檔案)
  • 提供依賴啟動器(starter)簡化構建配置
  • 極大程度的自動化配置Spring和第三方庫
  • 提供生產就緒功能,例如指標監控檢測、外部檢測
  • 極少程式碼生成和XML配置

使用maven建立Spring Boot專案

第一步:

首先在左上角的file->new->project(如果是新安裝的IDEA需要配置maven倉庫,當然idea自己也會幫你配置,但是好像在C盤,並且可能會出現一些錯誤提示問題,如果不介意然可以使用,但是還是建議使用自己的maven倉庫建立,直接點選new project),然後出現下面圖片顯示,選擇maven專案,點選next。到下一個介面。
image

第二步:

這個介面的name就是你的專案名,location就是你專案的地址路徑,groupid一般是你網址域名倒著寫,例如com.hjk.www那反過來就是www.hjk.com,這一般是公司定義的,我們可以自己命名。
image

第三步:

然後我們找到pom.xml檔案,在裡面新增兩個依賴,新增依賴你的maven倉庫如果沒有這個包是會報錯的,然後我們點選一個類似重新整理的圖示idea就會載入相關的包了,我們等它載入完,第一次載入應該會等很長時間,我們耐心等待一下。如果在載入完成之後你的parent的那個依賴會爆紅,可能是應為你的倉庫是idea的預設C盤那個倉庫,建議換成自己的。這個報錯的原因好像是那個倉庫下載的是基礎包,沒有這個parent的包!
image

第四步:

最後我們檢視一下我們所匯入的包都有什麼,點選右邊的maven->dependencies檢視
image

第五步:

我們建立一個主程式啟動類
我們在學mvc是常常都是有幾個包(dao、service、controller)我們在寫springboot專案時也是差不多的,這裡我們在dao包的同級目錄下建立一個主程式類。
image

程式碼:

package com.hjk;


import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;

@SpringBootApplication
public class springbootParent {

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

最後我們建立一個controller測試一下

在controller包裡面建立一個HelloController類

package com.hjk.controller;

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

@RestController
public class HelloController {

    @GetMapping("/hello")
    public String hello(){
        return "hello SpringBoot";
    }
}

執行springbootParent類,然後訪問"http://localhost:8080/hello" 然後就能在這個介面看到字串輸出了。

與html聯絡

我們怎麼通過controller去訪問html介面呢,
首先我們把thymeleaf依賴匯入pom.xml

       <dependency>
            <groupId>org.thymeleaf</groupId>
            <artifactId>thymeleaf-spring5</artifactId>
        </dependency>
        <dependency>
            <groupId>org.thymeleaf.extras</groupId>
            <artifactId>thymeleaf-extras-java8time</artifactId>
        </dependency>

然後我們把HelloController改一下。因為上面我們用的是@RestController註解,返回的是一個json字串,不會被spring解析,那是適用於傳資料使用,我們需要使用@Controller註解進行頁面的跳轉。

package com.hjk.controller;

import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;

@Controller
public class HelloController {

    @GetMapping("/hello")
    public String hello(){
        return "hello";
    }
    @RequestMapping("/a")
    public String index(){
        return "index";
    }
}

然後再resources資料夾下,建立這樣的結構
image

頁面裡面寫什麼無所謂。
然後我們重新啟動專案,通過訪問"http://localhost:8080/hello" 和"http://localhost:8080/a“ 可以跳轉到頁面。我們可以看到,註解裡面寫的是url路徑,return後面的是需要跳轉的頁面名。

解釋點

註解 解釋
@Controller 把使用者提交來的請求通過對URL的匹配,分配個不同的接收器,再進行處理,然後向使用者返回結果
@ResponseBody 將方法返回值繫結到 Web 響應主體
@RestController @ResponseBody和@Controller組合註解,用於返回JSON字串
@RequestMapping 用來處理請求地址對映的註解
@GetMapping 等價於@RequestMapping(value = "",method = RequestMethod.GET)就是使用Get方法提交

使用Spring initializr快速建立

使用maven建立還是比較麻煩的,我們使用Spring initiallizr建立。

第一步:

右上角file->new->project-->spring initializr->next,這種方式1是在聯網情況下建立的,defaule就是springboot的預設網址。
image

第二步:

點選完next之後可以看到這個介面有Group組名,Artifact專案名。java version java版本,description專案描述,package包名。然後點選next

image

第三步:

在這個介面我們可以選擇springboot版本,和直接加入依賴,我們在這裡直接加入web依賴spring web和Template的Thymeleaf依賴,點上對勾後可以在最右邊裡看到你選擇的依賴。然後點選next。
image

第四步:

之前設定完了,在這裡可以直接點選finish,這樣就建立了一個sprigboot專案。
image
我們可以看到我們的專案結構,很多springboot都幫我們建立了。
image

最後

我們和上面一樣,建立HelloController類,並且在templates裡面建立一個hello.html檔案。
HelloController程式碼

package com.hjk.controller;

import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.GetMapping;

@Controller
public class HelloController {

    @GetMapping("/hello")
    public String hello(){
        return "hello";
    }
}

最後執行程式,訪問"http://localhost:8080/hello" ,成功;

相關文章