Spring Boot:快速入門教程


什么是Spring Boot?

Spring Boot是由Pivotal團隊提供的全新框架,其設計目的是用來簡化新Spring應用的初始搭建以及開發過程。該框架使用了特定的方式來進行配置,從而使開發人員不再需要定義樣板化的配置。簡而言之,Spring Boot通過提供默認配置的方式整合了所有的框架,讓我們可以更加簡單、快速、方便地構建應用程序。

為什么要用Spring Boot?

Spring Boot包含以下幾個特性:

  1. 默認提供了大部分框架的使用方式,方便進行快速集成
  2. Spring Boot應用可以獨立運行,符合微服務的開發理念
  3. Spring Boot內置WEB容器,無需部署WAR包即可運行
  4. 提供了各種生產就緒型功能,如指標,健康檢查和外部配置
  5. Spring Boot通過網站提供了項目模板,方便項目的初始化

通過以上這些非常優秀的特性,Spring Boot可以幫助我們非常簡單、快速的構建起我們的項目,並能夠非常方便進行后續開發、測試和部署。

第一個Spring Boot項目

多說無益,實踐為上。接下來,我就來建立起我們的第一個Spring Boot項目。

生成項目模板

為方便我們初始化項目,Spring Boot給我們提供一個項目模板生成網站。

1.  打開瀏覽器,訪問:https://start.spring.io/

2.  根據頁面提示,選擇構建工具,開發語言,項目信息等。

 

3.  點擊 Generate the project,生成項目模板,生成之后會將壓縮包下載到本地。

4.  使用IDE導入項目,我這里使用Eclipse,通過導入Maven項目的方式導入。

項目結構說明

如下圖所示,Spring Boot的項目結構比較簡單,只包含三個文件夾。

  • src/main/java  放置程序開發代碼
  • src/main/resources  放置配置文件
  • src/test/java  放置測試程序代碼

而在其下,包含以下主要文件。

  • DemoApplication.java 應用的啟動類,包含MAIN方法,是程序的入口
  • application.properties 一個空的配置文件,后續可以配置數據源等信息
  • DemoApplicationTests.java 一個簡單的單元測試類
  • pom.xml mave的配置文件,這個應該不用多作介紹了吧

項目結構圖

 

添加WEB模塊

其實不用添加WEB模塊,Spring Boot已經可以啟動了。但是為了方便查看,我們引入WEB模塊,並添加一個REST接口進行測試。

1.  引入Maven依賴

在 pom.xml中添加web依賴。

pom.xml

<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-web</artifactId>
</dependency>

2.  編寫REST接口

新建一個com.louis.springboot.demo.controller包,並創建一個HelloController。

HelloController.java

package com.louis.springboot.demo.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 Spring Boot!";
    }  
}

項目運行測試

1.  右鍵項目 -> Run as -> Maven install,開始執行Maven構建,第一次會下載Maven依賴,可能需要點時間,如果出現如下信息,就說明項目編譯打包成功了。

 

2.  右鍵文件 DemoApplication.java -> Run as -> Java Application,開始啟動應用,當出現如下信息的時候,就說明應用啟動成功了,默認啟動端口是8080。

 

3.  打開瀏覽器,訪問:http://localhost:8080/hello,返回“Hello Spring Boot!”說明我們添加的REST接口已經測試通過了。

代碼單元測試

如果要編寫單元測試也比較容易,打開的src/test/下的DemoApplicationTests.java文件,我們編寫一個測試hello接口的測試方法,對於http請求的測試,我們可以使用mockmvc來模擬,詳情參見具體代碼。

DemoApplicationTests.java

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

    private MockMvc mvc;

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

    @Test
    public void testHello() throws Exception {
       mvc.perform(MockMvcRequestBuilders.get("/hello").accept(MediaType.APPLICATION_JSON))
                .andExpect(MockMvcResultMatchers.status().isOk())
                .andDo(MockMvcResultHandlers.print())
                .andReturn();
    }

}

右鍵DemoApplicationTests.java文件 -> Run as -> Junit Test,運行測試代碼,可以從單元測試視圖看到單元測試案例運行成功。

 

開發環境調試

如果每次修改代碼之后都需要重新啟動WEB應用,還是有點麻煩的,Spring Boot支持熱啟動,修改之后可以實時生效,開發的時候打開還是可以提供一些便利性的。

打開POM文件,在dependencies標簽下添加spring-boot-devtools依賴,並修改build標簽下的spring-boot-maven-plugin的fork屬性為true即可。

<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>

啟動端口修改

Spring Boot默認的啟動端口是8080,如果需要修改,需要修改配置文件。

打開application.properties文件,在其中添加如下內容,配置啟動端口號。

application.properties

server.port=8000

重新啟動應用,查看控制台啟動信息,我們發現啟動端口已經變成8000了。

 

Yaml格式文件使目前比較流行的配置文件,我們可以使用Yaml格式配置來代替屬性文件配置,將application.properties的文件名修改為application.yml,並將文件內容替換為如下格式內容即可。

application.yml

server:
  port: 8000

啟動Banner定制

我們在應用啟動的時候,可以看到控制台顯示了Spring的Banner信息,我們可以通過定制這個功能,來放置我們自己的應用信息。

 

如果要定制自己的Banner, 只需要在 resources 下放置一個 baner.txt 文件,輸入自己的banner字符即可。

 

Banner字符可以通過類似以下網站生成:

http://patorjk.com/software/taag
http://www.network-science.de/ascii/

 

生成后復制內容到banner.txt並編輯成想要的樣式,完成后重啟應用,效果如下。

胡言亂語

SpringBoot就是行,整啥啥都靈。

配置很容易,運行超簡單。

開發難度小,資源也不少。

前途無限好,入坑要趁早。

相關導航

Spring Boot:快速入門教程

Spring Boot:整合Swagger文檔

Spring Boot:整合MyBatis框架

Spring Boot:實現MyBatis分頁

Spring Boot:集成Druid數據源

Spring Boot:實現MyBatis動態數據源

Spring Boot:實現MyBatis動態創建表

Spring Boot:整合JdbcTemplate

Spring Boot:整合Spring Data JPA

Spring Boot:整合Shiro權限框架

Spring Boot:整合Spring Security

Spring Boot:使用Memcached緩存

Spring Boot:使用Redis存儲技術

Spring Boot:使用Rabbit MQ消息隊列 

源碼下載

碼雲:https://gitee.com/liuge1988/spring-boot-demo.git


作者:朝雨憶輕塵
出處:https://www.cnblogs.com/xifengxiaoma/ 
版權所有,歡迎轉載,轉載請注明原文作者及出處。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM