Spring Boot是由Pivotal團(tuán)隊(duì)提供的全新框架,其設(shè)計(jì)目的是用來簡化新Spring應(yīng)用的初始搭建以及開發(fā)過程。該框架使用了特定的方式來進(jìn)行配置,從而使開發(fā)人員不再需要定義樣板化的配置。
本教程操作環(huán)境:windows7系統(tǒng)、java10版、DELL G3電腦。
1.起源
Spring Boot 是由 Pivotal 團(tuán)隊(duì)提供的全新框架,其設(shè)計(jì)目的是用來簡化新 Spring 應(yīng)用的初始搭建以及開發(fā)過程。該框架使用了特定的方式來進(jìn)行配置,從而使開發(fā)人員不再需要定義樣板化的配置。用我的話來理解,就是 Spring Boot 其實(shí)不是什么新的框架,它默認(rèn)配置了很多框架的使用方式,就像 Maven 整合了所有的 Jar 包,Spring Boot 整合了所有的框架。
2.解決問題
更快速更便捷搭建服務(wù),大大節(jié)省工作量,如下:
1)配置 web.xml,加載 Spring 和 Spring mvc
2)配置數(shù)據(jù)庫連接、配置 Spring 事務(wù)
3)配置加載配置文件的讀取,開啟注解
4)配置日志文件
...
配置完成之后部署 Tomcat 調(diào)試 哪怕是一個(gè)小的功能可能都需要,這樣操作一遍,實(shí)在麻煩?。?!
springboot的引入將讓它成為過去式
3.springBoot入門
構(gòu)建方式比較多,以Idea 構(gòu)建項(xiàng)目介紹
1、選擇 File -> New —> Project... 彈出新建項(xiàng)目的框
2、選擇 Spring Initializr,Next 也會(huì)出現(xiàn)上述類似的配置界面,Idea 幫我們做了集成
3、填寫相關(guān)內(nèi)容后,點(diǎn)擊 Next 選擇依賴的包再點(diǎn)擊 Next,最后確定信息無誤點(diǎn)擊 Finish。
項(xiàng)目結(jié)構(gòu)介紹
采用默認(rèn)配置可以省去很多配置,當(dāng)然也可以根據(jù)自己的喜歡來進(jìn)行更改
最后,啟動(dòng)Application main方法,至此一個(gè)java項(xiàng)目搭建好了!
引入 Web?模塊
1、pom.xml中添加支持web的模塊:
<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> </dependency>
pom.xml文件中默認(rèn)有兩個(gè)模塊:
spring-boot-starter:核心模塊,包括自動(dòng)配置支持、日志和YAML;
spring-boot-starter-test:測試模塊,包括JUnit、Hamcrest、Mockito。
2、編寫controller內(nèi)容
@RestController public class HelloWorldController { @RequestMapping("/hello") public String index() { return "Hello World"; } }
@RestController的意思就是controller里面的方法都以json格式輸出,不用再寫什么jackjson配置的了!
3、啟動(dòng)主程序,打開瀏覽器訪問http://localhost:8080/hello,就可以看到效果了,有木有很簡單!
如何做單元測試
打開的src/test/下的測試入口,編寫簡單的http請求來測試;使用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(); } }
開發(fā)環(huán)境的調(diào)試
熱啟動(dòng)在正常開發(fā)項(xiàng)目中已經(jīng)很常見了吧,雖然平時(shí)開發(fā) web 項(xiàng)目過程中,改動(dòng)項(xiàng)目啟重啟總是報(bào)錯(cuò);但 Spring Boot 對調(diào)試支持很好,修改之后可以實(shí)時(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)心框架之間的兼容性,適用版本等各種問題,我們想使用任何東西,僅僅添加一個(gè)配置就可以,所以使用 Spring Boot 非常適合構(gòu)建微服務(wù)。
相關(guān)視頻教程推薦:Java視頻教程
以上是如何理解springboot框架的詳細(xì)內(nèi)容。更多信息請關(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
用于從照片中去除衣服的在線人工智能工具。

Clothoff.io
AI脫衣機(jī)

Video Face Swap
使用我們完全免費(fèi)的人工智能換臉工具輕松在任何視頻中換臉!

熱門文章

熱工具

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

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

禪工作室 13.0.1
功能強(qiáng)大的PHP集成開發(fā)環(huán)境

Dreamweaver CS6
視覺化網(wǎng)頁開發(fā)工具

SublimeText3 Mac版
神級(jí)代碼編輯軟件(SublimeText3)