Spring Boot是由Pivotal團隊提供的全新框架,其設計目的是用來簡化新Spring應用的初始搭建以及開發過程。該框架使用了特定的方式來進行配置,從而使開發人員再也不須要定義樣板化的配置。簡而言之,Spring Boot經過提供默認配置的方式整合了全部的框架,讓咱們能夠更加簡單、快速、方便地構建應用程序。html
Spring Boot包含如下幾個特性:java
經過以上這些很是優秀的特性,Spring Boot能夠幫助咱們很是簡單、快速的構建起咱們的項目,並可以很是方便進行後續開發、測試和部署。git
多說無益,實踐爲上。接下來,我就來創建起咱們的第一個Spring Boot項目。web
爲方便咱們初始化項目,Spring Boot給咱們提供一個項目模板生成網站。spring
1. 打開瀏覽器,訪問:https://start.spring.io/瀏覽器
2. 根據頁面提示,選擇構建工具,開發語言,項目信息等。緩存
3. 點擊 Generate the project,生成項目模板,生成以後會將壓縮包下載到本地。springboot
4. 使用IDE導入項目,我這裏使用Eclipse,經過導入Maven項目的方式導入。mvc
以下圖所示,Spring Boot的項目結構比較簡單,只包含三個文件夾。app
而在其下,包含如下主要文件。
項目結構圖
其實不用添加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
咱們在應用啓動的時候,能夠看到控制檯顯示了Spring的Banner信息,咱們能夠經過定製這個功能,來放置咱們本身的應用信息。
若是要定製本身的Banner, 只須要在 resources 下放置一個 baner.txt 文件,輸入本身的banner字符便可。
Banner字符能夠經過相似如下網站生成:
http://patorjk.com/software/taag
http://www.network-science.de/ascii/
生成後複製內容到banner.txt並編輯成想要的樣式,完成後重啓應用,效果以下。
SpringBoot就是行,整啥啥都靈。
配置很容易,運行超簡單。
開發難度小,資源也很多。
前途無限好,入坑要趁早。
碼雲:https://gitee.com/liuge1988/spring-boot-demo.git
做者:朝雨憶輕塵
出處:https://www.cnblogs.com/xifengxiaoma/
版權全部,歡迎轉載,轉載請註明原文做者及出處。