尋找寫程式碼感覺(一)之使用 Spring Boot 快速搭建專案

久曲健發表於2021-08-17

寫在前面

現在已經是八月份了,我已經荒廢了半年居多,不得不說談戀愛確實是個麻煩的事,談好了皆大歡喜,分手了就是萎靡不振,需要很長一段時間才能緩過來。

人還是要有夢想的,至於實現只不過是一個契機,但凡不懶,你都可能是下一個被命運眷顧的幸運兒(僅限技術,追妹紙另當別論)。

一直以來就有個心願,想使用前後端分離技術,寫一個Web系統,主要技術棧Spring Boot+ Vue3 ,想一想就很興奮那種,很久沒有這種感覺了。

話不多說,開始更文了。

建立Spring Boot專案

  • 單擊 File -> New -> Project… 命令,彈出新建專案框。

  • 選擇 Spring Initializr 選項,單擊 Next 按鈕,Idea 很強大已經幫我們做了整合。

  • 選擇 Web ,這裡我選擇的版本是2.4.0,如果無法選中,到時候在pom檔案中自行修改即可,單擊Next按鈕,最後確定資訊無誤單擊 Finish 按鈕。

  • 刪除無用的檔案.mvn、 mvnw、 mvnw.cmd

專案結構

  • src/main/java:程式開發以及主程式入口
  • src/main/resources:配置檔案
  • src/test/java:測試程式

簡單介面編寫

按照國際慣例,先整一個Hello World吧。
首先建立一個名為HelloController的類,示例程式碼如下:

package com.rongrong.wiki.demo;

import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.RestController;

/**
*
* @description
* @version 1.0
* @author longrong.lang
*
*/
@RestController
public class HelloController {
    @RequestMapping(method= RequestMethod.GET,value = "/hello")
    public String sayHello(){
        return "hello,Spring Boot!";
    }
}

啟動主程式

開啟瀏覽器訪問 http://localhost:8080/hello,就可以看到以下內容:

hello,Spring Boot!

單元測試

我們使用Spring Boot中自帶的MockMvc進行測試,不瞭解的同學可以自己百度查詢學習,如果對PowerMock或者其他單元測試框架Mock比較書的同學上手會很快。

在測試程式中,建立一個名為HelloControllerTest的測試類,示例程式碼如下:

package com.rongrong.wiki.test;

import org.junit.jupiter.api.DisplayName;
import org.junit.jupiter.api.Test;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.autoconfigure.web.servlet.AutoConfigureMockMvc;
import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.http.MediaType;
import org.springframework.test.web.servlet.MockMvc;
import org.springframework.test.web.servlet.MvcResult;
import org.springframework.test.web.servlet.request.MockMvcRequestBuilders;

import static org.hamcrest.MatcherAssert.assertThat;
import static org.hamcrest.Matchers.equalTo;

/**
 * @author longrong.lang
 * @version 1.0
 * @description
 */
@AutoConfigureMockMvc
@SpringBootTest
public class HelloControllerTest {
    @Autowired
    MockMvc mockMvc;

    @Test
    @DisplayName("測試返回字串")
    public void testHello() throws Exception {
        MvcResult mvcResult = mockMvc.perform(MockMvcRequestBuilders.get("/hello").accept(MediaType.APPLICATION_FORM_URLENCODED)).andReturn();
        String content = mvcResult.getResponse().getContentAsString();
        assertThat(content,equalTo("hello,Spring Boot!"));
    }

}

說明:

  • @Autowired這個註解應該很熟悉吧,個人感覺這裡採用的是Spring Mvc的思路,比如自動匯入Bean
  • 關於Mock部分參考單元測試框架Mock去學習即可

執行結果

最後

到此,使用 Spring Boot 快速搭建專案完成,如果覺得對您有幫助,請關注,點贊,並轉發。

聰明的人都去瞧瞧努力了,你還在猶豫什麼呢?行動起來,來一起入坑!

相關文章