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ā)人員不再需要定義樣板化的配置。
本教學(xué)操作環(huán)境:windows7系統(tǒng)、java10版、DELL G3電腦。
1.起源
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ā)人員不再需要定義樣板化的配置。用我的話(huà)來(lái)理解,就是 Spring Boot 其實(shí)不是什麼新的框架,它預(yù)設(shè)配置了很多框架的使用方式,就像 Maven 整合了所有的 Jar 包,Spring Boot 整合了所有的框架。
2.解決問(wèn)題
更快速更方便搭建服務(wù),大幅節(jié)省工作量,如下:
1)設(shè)定web.xml,加載Spring 和Spring mvc
2)設(shè)定資料庫(kù)連線(xiàn)、設(shè)定Spring 交易
3)設(shè)定載入設(shè)定檔的讀取,開(kāi)啟註解
4)設(shè)定日誌檔案
...
設(shè)定完成之後部署Tomcat 除錯(cuò)哪怕是一個(gè)小的功能可能都需要,這樣操作一遍,實(shí)在麻煩! ! !
springboot的引入將讓它成為過(guò)去式
#3.springBoot入門(mén)
構(gòu)建方式比較多,以Idea建立專(zhuān)案介紹
1、選擇File -> New —> Project... 彈出新專(zhuān)案的方塊
2、選擇Spring Initializr,Next 也會(huì)出現(xiàn)上述類(lèi)似的設(shè)定介面,Idea 幫我們做了整合
3、填寫(xiě)相關(guān)內(nèi)容後,點(diǎn)選Next 選擇依賴(lài)的套件再點(diǎn)選Next,最後確定訊息無(wú)誤點(diǎn)擊Finish。
專(zhuān)案結(jié)構(gòu)介紹
採(cǎi)用預(yù)設(shè)配置可以省去很多配置,當(dāng)然也可以根據(jù)自己的喜歡來(lái)進(jìn)行更改
最後,啟動(dòng)Application main方法,至此一個(gè)java專(zhuān)案搭建好了!
引入Web?模組
1、pom.xml中新增支援web的模組:
<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> </dependency>
pom.xml檔案中預(yù)設(shè)有兩個(gè)模組:
spring-boot-starter:核心模組,包括自動(dòng)設(shè)定支援、日誌和YAML;
spring-boot-starter-test:測(cè)試模組,包括JUnit、Hamcrest、Mockito。
2、寫(xiě)controller內(nèi)容
@RestController public class HelloWorldController { @RequestMapping("/hello") public String index() { return "Hello World"; } }
@RestController的意思就是controller裡面的方法都以json格式輸出,不用再寫(xiě)什麼jackjson配置的了!
3、啟動(dòng)主程序,打開(kāi)瀏覽器訪問(wèn)http://localhost:8080/hello,就可以看到效果了,有木有很簡(jiǎn)單!?
如何做單元測(cè)試
開(kāi)啟的src/test/下的測(cè)試入口,寫(xiě)簡(jiǎn)單的http請(qǐng)求來(lái)測(cè)試;使用mockmvc進(jìn)行,利用MockMvcResultHandlers.print()列印出執(zhí)行結(jié)果。
@RunWith(SpringRunner.class) @SpringBootTest
public class HelloWorldControlerTests { 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(MockMvcResultMatchers.status().isOk()) .andDo(MockMvcResultHandlers.print()) .andReturn(); } }
開(kāi)發(fā)環(huán)境的調(diào)試
熱啟動(dòng)在正常開(kāi)發(fā)專(zhuān)案中已經(jīng)很常見(jiàn)了吧,雖然平時(shí)開(kāi)發(fā)web 專(zhuān)案過(guò)程中,改動(dòng)專(zhuān)案啟動(dòng)重新啟動(dòng)總是報(bào)錯(cuò);但Spring Boot 對(duì)調(diào)試支援很好,修改之後可以即時(shí)生效,需要添加以下的配置:
<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>
該模組在完整的打包環(huán)境下運(yùn)行的時(shí)候會(huì)被禁用。如果你使用java -jar啟動(dòng)應(yīng)用或用一個(gè)特定的classloader啟動(dòng),它會(huì)認(rèn)為這是一個(gè)「生產(chǎn)環(huán)境」。
總結(jié)
使用Spring Boot 可以非常方便、快速建立項(xiàng)目,使我們不用關(guān)心框架之間的兼容性,適用版本等各種問(wèn)題,我們想使用任何東西,只是添加一個(gè)配置就可以,所以使用Spring Boot 非常適合建構(gòu)微服務(wù)。
相關(guān)影片教學(xué)推薦:Java影片教學(xué)
#以上是如何理解springboot框架的詳細(xì)內(nèi)容。更多資訊請(qǐng)關(guān)注PHP中文網(wǎng)其他相關(guān)文章!

熱AI工具

Undress AI Tool
免費(fèi)脫衣圖片

Undresser.AI Undress
人工智慧驅(qū)動(dòng)的應(yīng)用程序,用於創(chuàng)建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線(xiàn)上人工智慧工具。

Clothoff.io
AI脫衣器

Video Face Swap
使用我們完全免費(fèi)的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱門(mén)文章

熱工具

記事本++7.3.1
好用且免費(fèi)的程式碼編輯器

SublimeText3漢化版
中文版,非常好用

禪工作室 13.0.1
強(qiáng)大的PHP整合開(kāi)發(fā)環(huán)境

Dreamweaver CS6
視覺(jué)化網(wǎng)頁(yè)開(kāi)發(fā)工具

SublimeText3 Mac版
神級(jí)程式碼編輯軟體(SublimeText3)