
下載本文檔
版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、spring boot 2.x基礎教程:快速入門簡介在您第1次接觸和學習spring框架的時候,是否由于其繁雜的配置而退卻了?在你第n次用法spring框架的時候,是否覺得一堆反復黏貼的配置有一些討厭?那么您就不妨來試試用法spring boot來讓你更易上手,更容易快捷地構建spring應用!spring boot讓我們的spring應用變的更輕量化。我們不必像以前那樣繁瑣的構建項目、打包應用、部署到tomcat等應用服務器中來運行我們的業務服務。通過spring boot實現的服務,只需要依賴一個java類,把它打包成jar,并通過java -jar指令就可以運行起來。這一切相較于傳統sp
2、ring應用來說,已經變得十分的輕巧、容易。總結一下spring boot的主要優點:為全部spring開發者更快的入門開箱即用,提供各種默認配置來簡化項目配置內嵌式容器簡化web項目沒有冗余代碼生成和xml配置的要求迅速入門本文我們將學習如何迅速的創建一個spring boot應用,并且實現一個容易的http哀求處理。通過這個例子對spring boot有一個初步的了解,并體驗其結構容易、開發迅速的特性。創建基礎項目spring官方提供了十分便利的工具spring initializr來協助我們創建spring boot應用。用法spring initializr頁面創建第一步:拜訪spri
3、ng initializr:https:/start.spring.io/所示,幾個選項解釋:project:用法什么構建工具,maven還是gradle;本教程將采納大部分java人員都認識的maven,以便利更多讀者入門學習。language:用法什么編程語言,java、kotlin還是groovy;本教程將采納java為主編寫,以便利更多讀者入門學習。spring boot:選用的spring boot版本;這里將用法當前最新的2.1.3版本。project metadata:項目的元數據;其實就是maven項目的基本元素,點開more options可以看到更多設置,按照自己組織的狀況
4、輸入相關數據,比如:dependencies:挑選要加入的spring boot組件;本文將實現一個http接口,所以可以挑選web組件,只需要輸入web,頁面會自動聯想顯示匹配的可選組件:點擊+之后,就如下圖所示:其次步:點擊generate project按鈕生成項目;此時掃瞄器會下載一個與上面artifact名稱一樣的壓縮包。第三步:解壓項目包,并用編譯器以maven項目導入,以intellij idea為例:菜單中挑選:file –> new –> project from existing sources挑選解壓后的項目文件夾,點擊
5、ok點擊:import project from external model,并挑選maven,點擊next到底為止。若你的環境有多個版本的jdk,注重到挑選java sdk的時候請挑選java 8(詳細按照你在第一步中挑選的java版本為準)因為我們后續會有無數樣例工程,您也可以像我們樣例倉庫那樣,用一個基礎倉庫,每篇文章的樣例以模塊的方式保存,詳細形式可見文末的案例倉庫。用法intellij idea創建假如是用法intellij idea來寫java程序的話,那么還可以挺直在編譯器中創建spring boot應用。第一步:菜單欄中挑選:file => new => proj
6、ect,我們可以看到如下圖所示的創建功能窗口。其中initial service url指向的地址就是spring官方提供的spring initializr工具地址,所以這里創建的工程事實上也是基于它的web工具來實現的。其次步:點擊next,等待片刻后,我們可以看到如下圖所示的工程信息窗口:其實內容就跟我們用web版的spring initializr是千篇一律的,跟之前在頁面上一樣填寫即可。第三步:繼續點擊next,進入挑選spring boot版本和依靠管理的窗口:在這里值的我們關注的是,它不僅包含了spring boot starter poms中的各個依靠,還包含了spring c
7、loud的各種依靠。第四步:點擊next,進入最后關于工程物理存儲的一些詳情。最后,點擊finish就能完成工程的構建了。intellij中的spring initializr雖然還是基于官方web實現,但是通過工具來舉行調用并挺直將結果構建到我們的本地文件系統中,讓囫圇構建流程變得越發順暢,還沒有體驗過此功能的spring boot/cloud興趣者們不妨可以嘗試一下這種不同的構建方式。項目結構解析通過上面步驟完成了基礎項目的創建。如上圖所示,spring boot的基礎結構共三個文件(詳細路徑按照用戶生成項目時填寫的group全部差異):src/main/java下的程序入口:chapte
8、r11applicationsrc/main/resources下的配置文件:pertiessrc/test/下的測試入口:chapter11applicationtests生成的chapter11application和chapter11applicationtests類都可以挺直運行來啟動當前創建的項目,因為目前該項目未協作任何數據拜訪或web模塊,程序會在加載完spring之后結束運行。假如想學習java工程化、高性能及分布式、深化淺出。微服務、spring,mybatis,netty源碼分析的伴侶可以加我的java高級溝通:787707172,群里有阿里大
9、牛直播講解技術,以及java大型互聯網技術的視頻免費共享給大家。項目依靠解析打開pom.xml,一起來看看spring boot項目的依靠:4.0.0org.springframework.bootspring-boot-starter-parent2.1.3.releasecom.didispacechapter1-10.0.1-snapshotchapter1-1demo project for spring boot1.8org.springframework.bootspring-boot-starter-weborg.springframework.bootspring-boot-s
10、tarter-testtestorg.springframework.bootspring-boot-maven-plugin如上所示,主要有四個部分:項目元數據:創建時候輸入的project metadata部分,也就是maven項目的基本元素,包括:groupid、artifactid、version、name、description等parent:繼承spring-boot-starter-parent的依靠管理,控制版本與打包等內容dependencies:項目詳細依靠,這里包含了spring-boot-starter-web用于實現http接口(該依靠中包含了spring mvc);
11、spring-boot-starter-test用于編寫單元測試的依靠包。更多功能模塊的用法我們將在后面的教程中逐步綻開。build:構建配置部分。默認用法了spring-boot-maven-plugin,協作spring-boot-starter-parent就可以把spring boot應用打包成jar來挺直運行。編寫一個http接口創建package命名為com.didispace.web(按照實際狀況修改)創建hellocontroller類,內容如下:restcontrollerpublic class hellocontroller requestmapping(&quo
12、t;/hello")public string index() return "hello world"啟動主程序,用法postman等工具發起哀求:http:/localhost:8080/hello,可以看到頁面返回:hello world編寫單元測試用例打開的src/test/下的測試入口chapter11applicationtests類。下面編寫一個容易的單元測試來模擬http哀求,詳細如下:import static org.hamcrest.matchers.equalto;import static org.springfr
13、amework.test.web.servlet.result.mockmvcresultmatchers.content;import static org.springframework.test.web.servlet.result.mockmvcresultmatchers.status;runwith(springrunner.class)springboottestpublic class chapter11applicationtests private mockmvc mvc;beforepublic void setup() throws exception mvc = mo
14、ckmvcbuilders.standalonesetup(new hellocontroller()。build();testpublic void gethello() throws exception mvc.perform(mockmvcrequestbuilders.get("/hello")。accept(mediatype.application_json)。andexpect(status()。isok()。andexpect(content()。string(equalto("hello world");用法mockservletcontext來構建一個空的webapplicationcontext,這樣我們創建的hellocontroller就可以在before函數中創建并傳遞到mockmvcbuilders.standalonesetup()函數中。注重引入下面內容,讓status、content、equalto函數可用import static org.hamcrest.matchers.equalto;import static or
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- GB/T 26958.1-2025產品幾何技術規范(GPS)濾波第1部分:概述和基本概念
- GB/T 45694-2025天然纖維增強塑料復合(NFC)板試驗方法
- 氯氣專用球閥項目投資可行性研究分析報告(2024-2030版)
- 稅務師考試與CPA課件的適用性
- 中國煤氣分析儀行業投資分析及發展戰略研究咨詢報告
- 2025年中國健腦生發器行業市場發展前景及發展趨勢與投資戰略研究報告
- 2025年 寧夏公務員考試行測試題附答案
- 2025年 黑龍江省東北石油大學招聘考試筆試試題附答案
- 2021-2026年中國藍莓酒市場發展前景預測及投資戰略咨詢報告
- 2025年中國計算機工作站市場深度評估及投資方向研究報告
- 2022-2023學年安徽省阜陽市高一下學期期末教學質量統測數學試卷(解析版)
- 2023-2024學年江西省南昌市南昌縣人教PEP版五年級下冊期末質量檢測英語試卷
- 鎖骨骨折的護理查房
- 印度博帕爾甲基異氰酸酯泄漏事故回顧分析
- 廣東省佛山市順德區2023-2024學年七年級下學期期末語文試題(原卷版)
- 部編人教版六年級上冊語文全冊教學課件+單元復習課件
- 【新教材】蘇科版(2024)七年級上冊數學第1-6章全冊教案設計
- 車輛維修保養服務 投標方案(技術方案)
- 陜西省西安市雁塔區2023-2024學年六年級下學期期末語文試卷
- 加油站會員體系設計與運營策略
- 精索靜脈曲張教學
評論
0/150
提交評論