手把手的SpringBoot教程关拒,SpringBoot創(chuàng)建web項(xiàng)目(一)

1.引子

大家好,在接下里的一段時(shí)間里庸娱,我會(huì)給大家詳細(xì)的介紹SpringBoot的基本使用着绊,相信學(xué)完這門課程以后,你會(huì)對SpringBoot有一個(gè)清晰的認(rèn)識(shí)熟尉,并且能夠運(yùn)用這門比較新穎的技術(shù)開發(fā)一些小程序归露。我也希望,這門課程能夠?qū)Υ蠹胰腴TSpringBoot框架起到一個(gè)良好的助推作用斤儿。

在開始之前剧包,我們先來看一看傳統(tǒng)的JavaWeb開發(fā)存在哪些問題。首先往果,第一點(diǎn)疆液,配置繁多。不管你之前用的是SSH框架陕贮,還是SSM框架堕油,都一定對項(xiàng)目內(nèi)部大量的配置文件感到頭疼。所以肮之,繁瑣的配置是JavaWeb項(xiàng)目開發(fā)的一個(gè)顯著的特點(diǎn)掉缺。

第二點(diǎn),開發(fā)效率低戈擒。注意眶明,這里說開發(fā)效率低,并不是指Java開發(fā)本身的效率低筐高,因?yàn)楹芏嗟谌絡(luò)ar包的出現(xiàn)呢搜囱,幫我們做了大量的整合,所以我們做Java開發(fā)更多的是在調(diào)用jar包內(nèi)的方法凯傲。因此犬辰,寫代碼相對而言是比較輕松的嗦篱。而我們這邊所說的開發(fā)效率低下冰单,更多的是指一個(gè)web項(xiàng)目配置太多,整合技術(shù)繁瑣灸促。

第三點(diǎn)诫欠,部署麻煩涵卵。很多情況下,我們開發(fā)一個(gè)web項(xiàng)目荒叼,最后需要打成一個(gè)war包轿偎,然后部署到一個(gè)諸如Tomcat的Servlet容器上。復(fù)雜的部署流程被廓,使得我們部署一個(gè)web項(xiàng)目坏晦,不太容易。

正因?yàn)樯鲜鋈齻€(gè)問題的存在嫁乘,SpringBoot可以說是應(yīng)運(yùn)而生昆婿。看到這里蜓斧,有同學(xué)可能會(huì)問了仓蛆,SpringMVC我用過,SpringBoot和它是什么關(guān)系呢挎春?其實(shí)SpringBoot 是SpringMVC的升級(jí)版看疙,兩者沒有必然的關(guān)系。因此直奋,哪怕你沒有SpringMVC的基礎(chǔ)能庆,直接上手SpringBoot也是沒有太大問題的。

2.SpringBoot的優(yōu)缺點(diǎn)

接下來脚线,我們來說一下SpringBoot它的優(yōu)缺點(diǎn)相味。

第一點(diǎn),簡化配置殉挽。這個(gè)剛才我們也說到了丰涉,傳統(tǒng)web開發(fā),配置是一件讓無數(shù)開發(fā)者頭疼的事情斯碌,而SpringBoot可以讓你拋掉那些繁瑣的配置一死,也可以快速開發(fā)web項(xiàng)目。那它是如何實(shí)現(xiàn)的呢傻唾?SpringBoot運(yùn)用了一種叫做“約定大于配置”的理念投慈。對于那些大量的配置,都采用了一種默認(rèn)的約定冠骄,讓你不需要再進(jìn)行配置伪煤,或者運(yùn)用很少的配置就可以搭建項(xiàng)目。其實(shí)凛辣,它就做了一件事情抱既,內(nèi)部集成了大量的第三方技術(shù),讓你拿來就用扁誓,而不需要自己去配防泵。就好像一部智能手機(jī)蚀之,內(nèi)置了很多常用的APP,比如淘寶捷泞,微信足删,QQ等。有了這些內(nèi)置的應(yīng)用锁右,我們就不需要一次次地去網(wǎng)上下載和安裝失受,省下了很多的時(shí)間。

對于那些常用的app咏瑟,反正我們都是要用的贱纠,因此,與其我們自己一個(gè)個(gè)去下載响蕴,安裝谆焊,還不如手機(jī)默認(rèn)就幫我們配置好了。這樣來的干脆利落浦夷,不拖泥帶水辖试,讓人心情愉快。

同樣的道理劈狐,一個(gè)web項(xiàng)目罐孝,必然要配置監(jiān)聽器,數(shù)據(jù)源肥缔,IOC莲兢,AOP等。與其我們每次都手動(dòng)去寫配置文件续膳,還不如直接在框架里就默認(rèn)幫我們配好改艇,這樣同樣是干脆利落,不拖泥帶水坟岔,讓人心情更加愉快谒兄。

如此看來,約定大于配置是一個(gè)非常有用和先進(jìn)的理念社付。

第二點(diǎn)承疲,獨(dú)立運(yùn)行。什么叫獨(dú)立運(yùn)行呢鸥咖,那就是燕鸽,我們以前開發(fā)web項(xiàng)目,是在項(xiàng)目搭建好了之后啼辣,部署到一個(gè)諸如Tomcat的Servlet容器中運(yùn)行的啊研。而SpringBoot不一樣,它自己內(nèi)部就嵌入了一個(gè)Servlet容器,你可以把它理解為內(nèi)部集成了一個(gè)Tomcat悲伶。這樣一來,我們最終運(yùn)行的只是一個(gè)jar包而已住涉!你直接運(yùn)行就可以了麸锉,不需要再去部署到Tomcat。

3.SpringCloud與微服務(wù)

相信大家還聽過一個(gè)“微服務(wù)”的概念舆声,什么叫做微服務(wù)呢花沉?以一個(gè)電商項(xiàng)目為例,若干年前媳握,如果我們搭建一個(gè)電商項(xiàng)目碱屁,會(huì)把所有的功能都塞在一個(gè)項(xiàng)目里面。慢慢的蛾找,隨著項(xiàng)目越來越大娩脾,人們發(fā)現(xiàn)這樣的項(xiàng)目維護(hù)起來非常困難,于是引入子系統(tǒng)的概念打毛,把不同的業(yè)務(wù)功能單獨(dú)拆分出來柿赊,各自做一個(gè)子系統(tǒng)。比如訂單子系統(tǒng)幻枉,用戶子系統(tǒng)碰声,物流子系統(tǒng)。并且通過maven實(shí)現(xiàn)每個(gè)項(xiàng)目之間的依賴關(guān)系熬甫。

而微服務(wù)又是什么意思呢胰挑,簡單來說,就是在子系統(tǒng)的基礎(chǔ)上再進(jìn)行一次細(xì)分椿肩,把不同的業(yè)務(wù)功能細(xì)分為一個(gè)個(gè)小型的服務(wù)瞻颂,比如訂單服務(wù),用戶服務(wù)郑象,物流服務(wù)等蘸朋。每個(gè)服務(wù)單獨(dú)運(yùn)行,獨(dú)立維護(hù)扣唱,相互之間可以采用HTTP技術(shù)進(jìn)行通訊藕坯。這樣一來,實(shí)現(xiàn)最大程度的解耦噪沙,哪怕其中一個(gè)服務(wù)奔潰了炼彪,也不會(huì)影響整個(gè)系統(tǒng)的運(yùn)行。

JavaWeb搭建微服務(wù)架構(gòu)一樣不太容易正歼,為此Spring的團(tuán)隊(duì)專門打造了一個(gè)SpringCloud辐马,來解決這個(gè)問題。

有的同學(xué)要問了局义,我是不是一定要學(xué)會(huì)了SpringCloud才可以搭建項(xiàng)目呢喜爷?當(dāng)然不是冗疮,其實(shí)在我們學(xué)會(huì)了SpringBoot之后,就可以自己做很多項(xiàng)目了檩帐。

好术幔,剛才我們說了SpringBoot的優(yōu)點(diǎn),現(xiàn)在來看一下它的缺點(diǎn)湃密。硬要說缺點(diǎn)的話诅挑,我想SpringBoot因?yàn)槭且婚T比較新的技術(shù),因此目前網(wǎng)上關(guān)于它的資料還比較缺少泛源,所以對于初學(xué)者拔妥,在學(xué)習(xí)SpringBoot的過程中,難免會(huì)遇到一些困難达箍,這是一個(gè)不算缺點(diǎn)的缺點(diǎn)没龙。在這里,我給初學(xué)者一個(gè)建議缎玫,那就是兜畸,暫時(shí)拋開使用Tomcat的習(xí)慣,之前我們說過碘梢,SpringBoot內(nèi)嵌了一個(gè)Servlet容器咬摇,因此,它是不需要部署到Tomcat中去的煞躬。之前的一些使用習(xí)慣肛鹏,反而會(huì)對自己的學(xué)習(xí)造成阻礙,這個(gè)我會(huì)在后面講到恩沛。

4.教程目錄

最后在扰,我們來看一下本課程的目錄。首先雷客,我會(huì)給大家寫一個(gè)SpringBoot的入門案例芒珠,可以算是SpringBoot版本的HelloWorld。第二點(diǎn)搅裙,我會(huì)介紹SpringBoot中一些常用的注解皱卓,以及我們?nèi)绾问褂眠@些注解。第三部逮,我給大家?guī)硪粋€(gè)基于SpringBoot的項(xiàng)目實(shí)戰(zhàn)娜汁,聊天機(jī)器人。這個(gè)項(xiàng)目實(shí)戰(zhàn)會(huì)全程貫穿整個(gè)課程兄朋,我始終相信掐禁,任何技術(shù),只有在項(xiàng)目中實(shí)際用到了,你才會(huì)記憶深刻傅事。

好了缕允,說了這么多,接下來蹭越,就讓我們一起開始SpringBoot的學(xué)習(xí)之旅吧障本。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市般又,隨后出現(xiàn)的幾起案子彼绷,更是在濱河造成了極大的恐慌巍佑,老刑警劉巖茴迁,帶你破解...
    沈念sama閱讀 217,185評(píng)論 6 503
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異萤衰,居然都是意外死亡堕义,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,652評(píng)論 3 393
  • 文/潘曉璐 我一進(jìn)店門脆栋,熙熙樓的掌柜王于貴愁眉苦臉地迎上來倦卖,“玉大人,你說我怎么就攤上這事椿争∨绿牛” “怎么了?”我有些...
    開封第一講書人閱讀 163,524評(píng)論 0 353
  • 文/不壞的土叔 我叫張陵秦踪,是天一觀的道長褐捻。 經(jīng)常有香客問我,道長椅邓,這世上最難降的妖魔是什么柠逞? 我笑而不...
    開封第一講書人閱讀 58,339評(píng)論 1 293
  • 正文 為了忘掉前任,我火速辦了婚禮景馁,結(jié)果婚禮上板壮,老公的妹妹穿的比我還像新娘。我一直安慰自己合住,他們只是感情好绰精,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,387評(píng)論 6 391
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著透葛,像睡著了一般茬底。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上获洲,一...
    開封第一講書人閱讀 51,287評(píng)論 1 301
  • 那天阱表,我揣著相機(jī)與錄音,去河邊找鬼。 笑死最爬,一個(gè)胖子當(dāng)著我的面吹牛涉馁,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播爱致,決...
    沈念sama閱讀 40,130評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼烤送,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了糠悯?” 一聲冷哼從身側(cè)響起帮坚,我...
    開封第一講書人閱讀 38,985評(píng)論 0 275
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎互艾,沒想到半個(gè)月后试和,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,420評(píng)論 1 313
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡纫普,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,617評(píng)論 3 334
  • 正文 我和宋清朗相戀三年阅悍,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片昨稼。...
    茶點(diǎn)故事閱讀 39,779評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡节视,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出假栓,到底是詐尸還是另有隱情寻行,我是刑警寧澤,帶...
    沈念sama閱讀 35,477評(píng)論 5 345
  • 正文 年R本政府宣布匾荆,位于F島的核電站拌蜘,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏棋凳。R本人自食惡果不足惜拦坠,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,088評(píng)論 3 328
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望剩岳。 院中可真熱鬧贞滨,春花似錦、人聲如沸拍棕。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,716評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽绰播。三九已至骄噪,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間蠢箩,已是汗流浹背链蕊。 一陣腳步聲響...
    開封第一講書人閱讀 32,857評(píng)論 1 269
  • 我被黑心中介騙來泰國打工事甜, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人滔韵。 一個(gè)月前我還...
    沈念sama閱讀 47,876評(píng)論 2 370
  • 正文 我出身青樓逻谦,卻偏偏與公主長得像,于是被迫代替她去往敵國和親陪蜻。 傳聞我的和親對象是個(gè)殘疾皇子邦马,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,700評(píng)論 2 354