Spring Boot(一)構建項目

一、使用 Intellij IDEA 創建 SpringBoot 項目

1、點擊 Create New Project

在這裏插入圖片描述

2、選擇 Spring Initialzr
  1. Spring Initializr(初始)
  2. 選擇 jdk 版本
  3. Next

在這裏插入圖片描述

3、填寫 group ,選擇 packaging— War, 選擇 Next
  1. Group 組織唯一標識(組織域名倒序)
  2. Artifact 項目的唯一標識
  3. 輸出格式 jar/war
  4. jdk 版本
  5. 開發語言 java Version 目前項目版本
  6. Next

在這裏插入圖片描述

4、選擇 Web, 點擊 Next,下一步點擊 finish 就好了
  1. 選擇依賴 Web
  2. 選擇 Web(RESTful/SpringMVC)
  3. 選擇依賴的 Spring Boot 版本
  4. Next

在這裏插入圖片描述

5、命名項目
  1. 項目名稱
  2. 項目工作目錄(注:以項目名結尾)
  3. Finish

在這裏插入圖片描述

6、Spring Boot 項目目錄結構

Spring Boot 的基礎結構共三個文件:
src/main/java 程序開發以及主程序入口
src/main/resources 配置文件
src/test/java 測試程序

另外, Spring Boot 建議的目錄結果如下:
root package 結構:com.example.myproject

com
  +- example
    +- myproject
      +- Application.java
      |
      +- model
      |  +- Customer.java
      |  +- CustomerRepository.java
      |
      +- service
      |  +- CustomerService.java
      |
      +- controller
      |  +- CustomerController.java
      |
  1. Application.java 建議放到根目錄下面,主要用於做一些框架配置
  2. model 目錄主要用於實體與數據訪問層(Repository)
  3. service 層主要是業務類代碼
  4. controller 負責頁面訪問控制

採用默認配置可以省去很多配置,當然也可以根據自己的喜歡來進行更改
最後,啓動 Application main 方法,至此一個 Java 項目搭建好了!

二、引入 web 模塊

1、pom.xml 中 <dependencies> 下添加支持 web 的模塊:
<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-web</artifactId>
</dependency>

pom.xml 文件中默認有兩個模塊:

  1. spring-boot-starter :核心模塊,包括自動配置支持、日誌和 YAML,如果引入了 spring-boot-starter-web web 模塊可以去掉此配置,因爲 spring-boot-starter-web 自動依賴了 spring-boot-starter。
  2. spring-boot-starter-test :測試模塊,包括 JUnit、Hamcrest、Mockito。
2、在 controller 目錄下新建 HelloWorldController.java,填入以下內容:
import org.springframework.web.bind.annotation.RestController;
import org.springframework.web.bind.annotation.RequestMapping;

@RestController
public class HelloWorldController {
    @RequestMapping("/hello")
    public String index() {
        return "Hello World";
    }
}

@RestController 的意思就是 Controller 裏面的方法都以 json 格式輸出,不用再寫什麼 jackjson 配置的了!

3、啓動主程序,打開瀏覽器訪問 http://localhost:8080/hello,就可以看到效果了,有木有很簡單!

在這裏插入圖片描述

三、如何做單元測試

打開的src/test/下的測試入口,編寫簡單的 http 請求來測試;使用 mockmvc 進行,利用 MockMvcResultHandlers.print() 打印出執行結果。

@RunWith(SpringRunner.class)
@SpringBootTest
public class HelloTests {

  
    private MockMvc mvc;

    @Before
    public void setUp() throws Exception {
        mvc = MockMvcBuilders.standaloneSetup(new HelloWorldController()).build();
    }

    @Test
    public void getHello() throws Exception {
        mvc.perform(MockMvcRequestBuilders.get("/hello").accept(MediaType.APPLICATION_JSON))
                .andExpect(status().isOk())
                .andExpect(content().string(equalTo("Hello World")));
    }

}

開發環境的調試

熱啓動在正常開發項目中已經很常見了吧,雖然平時開發web項目過程中,改動項目啓重啓總是報錯;但springBoot對調試支持很好,修改之後可以實時生效,需要添加以下的配置:

<dependencies>
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-devtools</artifactId>
        <optional>true</optional>
    </dependency>
</dependencies>

<build>
    <plugins>
        <plugin>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-maven-plugin</artifactId>
            <configuration>
                <fork>true</fork>
            </configuration>
        </plugin>
</plugins>
</build>

該模塊在完整的打包環境下運行的時候會被禁用。如果你使用 java -jar 啓動應用或者用一個特定的 classloader 啓動,它會認爲這是一個“生產環境”。

四、總結

使用 Spring Boot 可以非常方便、快速搭建項目,使我們不用關心框架之間的兼容性,適用版本等各種問題,我們想使用任何東西,僅僅添加一個配置就可以,所以使用 Spring Boot 非常適合構建微服務。

參考:
http://www.ityouknow.com/springboot/2016/01/06/spring-boot-quick-start.html
https://blog.csdn.net/typa01_kk/article/details/76696618
https://juejin.im/post/5c4317e2f265da614933e9f4

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章