來源:北大青鳥總部 2023年03月10日 13:29
在這個技術(shù)百花齊放、快速更迭的時代,程序猿們?yōu)榱四芨霞夹g(shù)的推陳出新的節(jié)奏,紛紛熬沒了頭發(fā)
對于Java程序猿來講更是深有體會,Java語言作為服務(wù)器端的“王者”,隨著互聯(lián)網(wǎng)的發(fā)展,為了滿足跟中五花八門的業(yè)務(wù),衍生出的各種框架,中間件技術(shù)等,這不最近又出來了一個的技術(shù),不過這個技術(shù)不僅沒有讓程序猿們想要逃離,而是對它喜愛有加,它就是SpringBoot。
它的出現(xiàn)讓程序猿們徹底的解放了雙手,把所有的精力都投入到業(yè)務(wù)當中去。今天咱么就來好好說道說道。
Spring: the source for modern java
Spirng: 現(xiàn)代java的起源
在正式開始介紹SpringBoot之前呢,首先必須要介紹下Spirng框架,相信所有的Java工程師對它應(yīng)該比對自己的女朋友都要了解。
Spring是一個開源框架,Spring是于2003 年興起的一個輕量級的Java 開發(fā)框架,Spring是模塊化的,允許你只是使用其中的一部分,不需要引入其他的。Spring設(shè)計為非侵入式的,意味著你的邏輯代碼不依賴與框架本身。
曾幾何時就在兩年前,也許你還在用著SSH(Struts2、Spring、Hibernate)或者SSM(SpringMVC、Spring、Mybatis)框架,以為三大法寶在手,天下我有。
雖然他們都擁有這繁瑣的配置,經(jīng)常因為莫名其妙的配置問題,導(dǎo)致整個服務(wù)出現(xiàn)問題;但是最為一名專業(yè)的程序猿,我們依然樂此不疲的快樂coding
然而突然有一天,空中好像劃過一道閃電--SpringBoot,它仿佛是廣大程序猿的救星,從此程序猿們再也不用拼雙手速了,過上了神仙眷侶的生活
SpringBoot是由Pivotal團隊在2013年開始研發(fā)、2014年4月發(fā)布第一個版本的全新開源的輕量級框架。它基于Spring4.0設(shè)計,不僅繼承了Spring框架原有的優(yōu)秀特性,而且還通過簡化配置來進一步簡化了Spring應(yīng)用的整個搭建和開發(fā)過程。另外SpringBoot通過集成大量的框架使得依賴包的版本沖突,以及引用的不穩(wěn)定性等問題得到了很好的解決。通過這種方式,SpirngBoot致力于在蓬勃發(fā)展的快速應(yīng)用開發(fā)領(lǐng)域成為領(lǐng)導(dǎo)者。
需要說明的是Spring Boot并不是一個框架,從本質(zhì)上講,它就是一堆技術(shù)的集合,因為提供了基礎(chǔ)的平臺,任何技術(shù)想要集成進來只需要添加依賴即可。
首先我們先看下SpringBoot有哪些特點,足以讓我們的廣大程序員為之傾倒
創(chuàng)建獨立的Spring應(yīng)用程序
嵌入式的Tomcat,Jetty或Undertow(無需部署WAR文件)
提供基礎(chǔ)的“Sstater”入門依賴項,以簡化構(gòu)建配置
盡可能自動配置Spring和3rd Party庫
完全沒有代碼生成,也不需要XML配置
....
以上任何一個特點都足以讓我們?yōu)橹d奮,特別是嵌入式的Tomcat、不需要任何XML的配置。簡直就是專為Java程序員而生,Java程序員苦xml久已。
當我們在進行傳統(tǒng)的SSM開發(fā)的時候,會有一些比較繁瑣的步驟
配置web.xml、Spring.xml的配置和SpringMVC.xml
配置數(shù)據(jù)源、事物、注解驅(qū)動
配置加載配置文件等
。。。
所有的這一切,在使用SpringBoot的時候都可以完全和他們Say goodbye了,接下來就讓我們進入SpringBoot的世界。
剛才把SpringBoot從里到外夸了一遍,接下來就是”見證奇跡的時刻“
直接File --> New --> Project創(chuàng)建一個項目
選擇Spring Initalizr通過SpringBoot官方提供的項目模板構(gòu)建
這里直接填下maven坐標,打包方式必須選擇jar,jdk版本8以上,其他報名項目名可以自己改
這里我們選擇web依賴,因為我們要構(gòu)建一個web項目,其實就是把SpringMVC的相關(guān)的依賴加入進來,這樣我們就可以直接使用SpringMVC了,不在需要額外的配置
填寫項目名稱,點擊Finish完成
這里會默認生成的SpringBoot項目我可以看到SpringBoot最標準的結(jié)構(gòu)
? 主程序也會默認生成了,我們只需要我們自己的邏輯
? resources文件夾中目錄結(jié)構(gòu)
– static:保存所有的靜態(tài)資源; js/css/ images等文件
– templates:保存所有的模板頁面 ,模板引freemarker、thymeleaf
– application.properties:Spring Boot應(yīng)用的配置文件;可以修改一些默認設(shè)置,如:默認的端口是8080
我們來看下他的pom.xml文件里比較重要的幾個依賴,
起步依賴,包含了很多基礎(chǔ)的依賴項,
web依賴,這個就相當于把SpringMVC加進來
<parent> <!--SpringBoot起步依賴,任何SpringBoot工程都有--> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starte-rparent</artifactId> <version>2.1.5.RELEASE</version> </parent> <dependency> <!--構(gòu)建web工程需要的依賴--> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> </dependency> |
接下來我們就來寫一個Controller來體驗一下SpringBoot簡單
/** * SpringBoot之初體驗 */ @RestController public class DemoController { @GetMapping("/hello") public String hello() { return "Hello SpringBoot?。?!"; } } |
直接運行主啟動類
當你看到如下的畫面,就說明你的SpringBoot工程已經(jīng)啟動成功了
接下來我們就來測試一下吧,當我們看到瀏覽器給我們的響應(yīng)時,就說明我們的項目成功了。此時端口默認是8080
是不是很簡單呢,構(gòu)建一個web就需要添加一個web依賴就可以了。媽媽再也不用擔心我的頭發(fā)了
這次內(nèi)容主要給大家科普下SpringBoot的前世今生,以及它的特點和優(yōu)勢,最后通過一個SpringBoot的demo演示了如何去構(gòu)建一個簡單的SpringBoot工程。讓大家體驗了一下SpringBoot的快速構(gòu)建項目的能力。