javascript
Spring Boot:快速入门教程
什么是Spring Boot?
Spring Boot是由Pivotal團(tuán)隊(duì)提供的全新框架,其設(shè)計(jì)目的是用來(lái)簡(jiǎn)化新Spring應(yīng)用的初始搭建以及開(kāi)發(fā)過(guò)程。該框架使用了特定的方式來(lái)進(jìn)行配置,從而使開(kāi)發(fā)人員不再需要定義樣板化的配置。簡(jiǎn)而言之,Spring Boot通過(guò)提供默認(rèn)配置的方式整合了所有的框架,讓我們可以更加簡(jiǎn)單、快速、方便地構(gòu)建應(yīng)用程序。
為什么要用Spring Boot?
Spring Boot包含以下幾個(gè)特性:
通過(guò)以上這些非常優(yōu)秀的特性,Spring Boot可以幫助我們非常簡(jiǎn)單、快速的構(gòu)建起我們的項(xiàng)目,并能夠非常方便進(jìn)行后續(xù)開(kāi)發(fā)、測(cè)試和部署。
第一個(gè)Spring Boot項(xiàng)目
多說(shuō)無(wú)益,實(shí)踐為上。接下來(lái),我就來(lái)建立起我們的第一個(gè)Spring Boot項(xiàng)目。
生成項(xiàng)目模板
為方便我們初始化項(xiàng)目,Spring Boot給我們提供一個(gè)項(xiàng)目模板生成網(wǎng)站。
1.? 打開(kāi)瀏覽器,訪問(wèn):https://start.spring.io/
2.? 根據(jù)頁(yè)面提示,選擇構(gòu)建工具,開(kāi)發(fā)語(yǔ)言,項(xiàng)目信息等。
?
3.? 點(diǎn)擊 Generate the project,生成項(xiàng)目模板,生成之后會(huì)將壓縮包下載到本地。
4.? 使用IDE導(dǎo)入項(xiàng)目,我這里使用Eclipse,通過(guò)導(dǎo)入Maven項(xiàng)目的方式導(dǎo)入。
項(xiàng)目結(jié)構(gòu)說(shuō)明
如下圖所示,Spring Boot的項(xiàng)目結(jié)構(gòu)比較簡(jiǎn)單,只包含三個(gè)文件夾。
- src/main/java? 放置程序開(kāi)發(fā)代碼
- src/main/resources ?放置配置文件
- src/test/java? 放置測(cè)試程序代碼
而在其下,包含以下主要文件。
- DemoApplication.java 應(yīng)用的啟動(dòng)類,包含MAIN方法,是程序的入口
- application.properties 一個(gè)空的配置文件,后續(xù)可以配置數(shù)據(jù)源等信息
- DemoApplicationTests.java 一個(gè)簡(jiǎn)單的單元測(cè)試類
- pom.xml mave的配置文件,這個(gè)應(yīng)該不用多作介紹了吧
項(xiàng)目結(jié)構(gòu)圖
?
添加WEB模塊
其實(shí)不用添加WEB模塊,Spring Boot已經(jīng)可以啟動(dòng)了。但是為了方便查看,我們引入WEB模塊,并添加一個(gè)REST接口進(jìn)行測(cè)試。
1.? 引入Maven依賴
在 pom.xml中添加web依賴。
pom.xml
<dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-web</artifactId> </dependency>2.? 編寫(xiě)REST接口
新建一個(gè)com.louis.springboot.demo.controller包,并創(chuàng)建一個(gè)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!";}}
項(xiàng)目運(yùn)行測(cè)試
1.? 右鍵項(xiàng)目 -> Run as -> Maven install,開(kāi)始執(zhí)行Maven構(gòu)建,第一次會(huì)下載Maven依賴,可能需要點(diǎn)時(shí)間,如果出現(xiàn)如下信息,就說(shuō)明項(xiàng)目編譯打包成功了。
?
2.? 右鍵文件 DemoApplication.java -> Run as -> Java Application,開(kāi)始啟動(dòng)應(yīng)用,當(dāng)出現(xiàn)如下信息的時(shí)候,就說(shuō)明應(yīng)用啟動(dòng)成功了,默認(rèn)啟動(dòng)端口是8080。
?
3.? 打開(kāi)瀏覽器,訪問(wèn):http://localhost:8080/hello,返回“Hello Spring Boot!”說(shuō)明我們添加的REST接口已經(jīng)測(cè)試通過(guò)了。
代碼單元測(cè)試
如果要編寫(xiě)單元測(cè)試也比較容易,打開(kāi)的src/test/下的DemoApplicationTests.java文件,我們編寫(xiě)一個(gè)測(cè)試hello接口的測(cè)試方法,對(duì)于http請(qǐng)求的測(cè)試,我們可以使用mockmvc來(lái)模擬,詳情參見(jiàn)具體代碼。
DemoApplicationTests.java
@RunWith(SpringRunner.class) @SpringBootTest public class DemoApplicationTests {private MockMvc mvc;@Beforepublic void setUp() throws Exception {mvc = MockMvcBuilders.standaloneSetup(new HelloController()).build();}@Testpublic 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,運(yùn)行測(cè)試代碼,可以從單元測(cè)試視圖看到單元測(cè)試案例運(yùn)行成功。
?
開(kāi)發(fā)環(huán)境調(diào)試
如果每次修改代碼之后都需要重新啟動(dòng)WEB應(yīng)用,還是有點(diǎn)麻煩的,Spring Boot支持熱啟動(dòng),修改之后可以實(shí)時(shí)生效,開(kāi)發(fā)的時(shí)候打開(kāi)還是可以提供一些便利性的。
打開(kāi)POM文件,在dependencies標(biāo)簽下添加spring-boot-devtools依賴,并修改build標(biāo)簽下的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>啟動(dòng)端口修改
Spring Boot默認(rèn)的啟動(dòng)端口是8080,如果需要修改,需要修改配置文件。
打開(kāi)application.properties文件,在其中添加如下內(nèi)容,配置啟動(dòng)端口號(hào)。
application.properties
server.port=8000重新啟動(dòng)應(yīng)用,查看控制臺(tái)啟動(dòng)信息,我們發(fā)現(xiàn)啟動(dòng)端口已經(jīng)變成8000了。
?
Yaml格式文件使目前比較流行的配置文件,我們可以使用Yaml格式配置來(lái)代替屬性文件配置,將application.properties的文件名修改為application.yml,并將文件內(nèi)容替換為如下格式內(nèi)容即可。
application.yml
server:port: 8000啟動(dòng)Banner定制
我們?cè)趹?yīng)用啟動(dòng)的時(shí)候,可以看到控制臺(tái)顯示了Spring的Banner信息,我們可以通過(guò)定制這個(gè)功能,來(lái)放置我們自己的應(yīng)用信息。
?
如果要定制自己的Banner, 只需要在 resources 下放置一個(gè) baner.txt 文件,輸入自己的banner字符即可。
?
Banner字符可以通過(guò)類似以下網(wǎng)站生成:
http://patorjk.com/software/taag
http://www.network-science.de/ascii/
?
生成后復(fù)制內(nèi)容到banner.txt并編輯成想要的樣式,完成后重啟應(yīng)用,效果如下。
胡言亂語(yǔ)
SpringBoot就是行,整啥啥都靈。
配置很容易,運(yùn)行超簡(jiǎn)單。
開(kāi)發(fā)難度小,資源也不少。
前途無(wú)限好,入坑要趁早。
轉(zhuǎn)載于:https://www.cnblogs.com/7788IT/p/11143454.html
與50位技術(shù)專家面對(duì)面20年技術(shù)見(jiàn)證,附贈(zèng)技術(shù)全景圖總結(jié)
以上是生活随笔為你收集整理的Spring Boot:快速入门教程的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 编写一个爬虫类库——(一)想法
- 下一篇: SpringMVC以及SSM整合