Spring Boot 學(xué)習(xí)筆記(一)--- Spring簡(jiǎn)介及Spring Boot快速搭建

不久前在學(xué)習(xí)Spring Cloud的相關(guān)知識(shí)乒融,原本準(zhǔn)備基于Spring Cloud來(lái)搭建自己的網(wǎng)站的详民,但最近工作實(shí)在有點(diǎn)繁忙吁伺,看書(shū)斷斷續(xù)續(xù)的逞带,書(shū)包里的kindle強(qiáng)行撐了兩個(gè)多禮拜沒(méi)關(guān)機(jī)欺矫,現(xiàn)在對(duì)于之前看的東西已經(jīng)忘了不少,因此現(xiàn)在把做的筆記以及編寫(xiě)的demo都記錄下來(lái)展氓,以便分享給他人(其實(shí)我知道沒(méi)人看)以及自己后續(xù)翻看復(fù)習(xí)穆趴。

Spring簡(jiǎn)介

在說(shuō)Spring Boot之前大家應(yīng)該都聽(tīng)說(shuō)過(guò)Spring。

Spring框架是一個(gè)輕量級(jí)的企業(yè)級(jí)開(kāi)發(fā)的一站式解決方案遇汞。

所謂解決方案就是可以基于Spring解決JavaEE開(kāi)發(fā)的所有問(wèn)題未妹。Spring框架主要提供了IoC容器簿废、AOP、數(shù)據(jù)訪問(wèn)络它、Web開(kāi)發(fā)族檬、消息、測(cè)試等相關(guān)技術(shù)的支持化戳。
Spring使用簡(jiǎn)單的POJO(Plain Old Java Object)來(lái)進(jìn)行企業(yè)級(jí)開(kāi)發(fā)单料。每一個(gè)被Spring管理的Java對(duì)象都稱之為Bean;而Spring提供了一個(gè)IoC容器來(lái)初始化對(duì)象点楼,解決對(duì)象之間的依賴管理和對(duì)象的使用扫尖。

Spring目前提供了大量的基于Spring的項(xiàng)目,如我本文要講述的SpringBoot以及基于Spring Boot而產(chǎn)生的Spring Cloud:

  • Spring Boot:使用默認(rèn)開(kāi)發(fā)配置來(lái)實(shí)現(xiàn)快速開(kāi)發(fā)掠廓;
  • Spring Cloud:為分布式系統(tǒng)開(kāi)發(fā)提供工具集换怖;

Spring框架本身又四大原則:

  • 使用POJO進(jìn)行輕量級(jí)和最小侵入式開(kāi)發(fā);
  • 通過(guò)依賴注入和基于接口變成實(shí)現(xiàn)松耦合却盘;
  • 通過(guò)AOP和默認(rèn)習(xí)慣進(jìn)行聲明式編程狰域;
  • 使用AOP和模板(template)減少模式化代碼媳拴;
    Spring所有功能的設(shè)計(jì)和實(shí)現(xiàn)都是基于此四大原則的黄橘。

Spring Boot概述

相對(duì)于我們傳統(tǒng)常用的SpringMVC的一大堆繁瑣的xml配置,Spring Boot的“習(xí)慣優(yōu)于配置”理念使得我們很容易創(chuàng)建一個(gè)獨(dú)立運(yùn)行的屈溉,準(zhǔn)生產(chǎn)級(jí)別的基于Spring框架項(xiàng)目塞关。其核心功能包括以下幾點(diǎn):

  • 獨(dú)立運(yùn)行的Spring項(xiàng)目:可以通過(guò)jar包形式運(yùn)行,即java -jar xx.jar子巾;
  • 內(nèi)嵌servlet容器帆赢,無(wú)需以war包形式部署項(xiàng)目;
  • 提供starter簡(jiǎn)化Maven配置:Spring提供了一系列的starter pom簡(jiǎn)化maven的依賴加載线梗,后文創(chuàng)建Spring Boot項(xiàng)目會(huì)看出來(lái)椰于;
  • 自動(dòng)配置Spring:Spring Boot會(huì)根據(jù)在類路徑中的jar包、類仪搔,為jar包中的類自動(dòng)配置Bean瘾婿,這樣會(huì)極大的減少我們使用的配置。
  • 準(zhǔn)生產(chǎn)的應(yīng)用監(jiān)控烤咧;
  • 無(wú)代碼生產(chǎn)和xml配置:Spring Boot的神奇不是借助代碼生成實(shí)現(xiàn)的偏陪,而是通過(guò)條件注解來(lái)實(shí)現(xiàn)。這是Spring4.x的新特性煮嫌,在這笛谦,Spring4.x提倡使用Java配置和注解配置組合,Spring Boot不需要任何xml配置額即可實(shí)現(xiàn)Spring所有配置昌阿。

Spring Boot快速搭建

本人使用的開(kāi)發(fā)工具是IDEA饥脑,創(chuàng)建Spring Boot項(xiàng)目也比較方便恳邀,也推薦大家使用此工具,顏值高好啰,開(kāi)發(fā)體驗(yàn)也很好轩娶。
1新建Spring Initializr項(xiàng)目


image

2.填寫(xiě)項(xiàng)目信息,選擇項(xiàng)目使用技術(shù)框往,我們這里選擇Web就可以了鳄抒,填好項(xiàng)目名稱,finish椰弊。


image

image

image

至此许溅,項(xiàng)目搭建結(jié)束,其項(xiàng)目依賴如圖:


image

同時(shí)我們可以看到秉版,在我們groupId+artifactId組合包名下有個(gè)入口類:
image

我們啟動(dòng)該類中的main方法贤重,這里即是啟動(dòng)本項(xiàng)目:
image

控制臺(tái)打印輸出啟動(dòng)成功,我們?yōu)榱四芸吹巾?yè)面效果清焕,給該類加上@RestController注解并蝗,并添加index方法:


image

再次啟動(dòng)項(xiàng)目,訪問(wèn)localhost:8080 如圖所示
image

通過(guò)查看源碼可以發(fā)現(xiàn)秸妥,我們這里的*Application的入口類上的注解@SpringBootApplication注解實(shí)際上是組合了@Configuration滚停、@EnableAutoConfiguration、@ComponentScan這幾個(gè)注解粥惧,若不適用@SpringBootApplication键畴,也可使用這三個(gè)注解代替。其中@EnableAutoConfiguration讓Spring Boot根據(jù)類路徑中的jar包依賴為當(dāng)前項(xiàng)目進(jìn)行自動(dòng)配置突雪。
Spring Boot會(huì)自動(dòng)掃描@SpringBootApplication所在類的同級(jí)包起惕,因此建議入口類防止在groupId+artifactId組合包名下。
這里也順便講個(gè)有意思的東西咏删,我們啟動(dòng)Spring Boot的時(shí)候是有個(gè)默認(rèn)啟動(dòng)圖案的惹想,其實(shí)這個(gè)是可以換的,我們?cè)趕rc/main/resources下新建一個(gè)banner.txt督函,然后去http://patorjk.com/software/taag 網(wǎng)站生成字符嘀粱,然后將字符復(fù)制到banner.txt中,我寫(xiě)的是LEAFW侨核,再次啟動(dòng)如圖:

image

以上草穆,即為Spring Boot學(xué)習(xí)第一章節(jié),也是最最最最為基礎(chǔ)的東西搓译,后續(xù)會(huì)更新進(jìn)一步的學(xué)習(xí)筆記悲柱。

本博客中所有相關(guān)代碼已上傳至本人GitHub的leafw-blog-demo項(xiàng)目下,如有需要可下載查看些己。本文對(duì)應(yīng)的為springboot_1目錄豌鸡。

本文參考書(shū)籍:博文視點(diǎn)-Spring Boot實(shí)戰(zhàn)

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末嘿般,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子涯冠,更是在濱河造成了極大的恐慌炉奴,老刑警劉巖,帶你破解...
    沈念sama閱讀 216,372評(píng)論 6 498
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件蛇更,死亡現(xiàn)場(chǎng)離奇詭異瞻赶,居然都是意外死亡,警方通過(guò)查閱死者的電腦和手機(jī)派任,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,368評(píng)論 3 392
  • 文/潘曉璐 我一進(jìn)店門砸逊,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái),“玉大人掌逛,你說(shuō)我怎么就攤上這事师逸。” “怎么了豆混?”我有些...
    開(kāi)封第一講書(shū)人閱讀 162,415評(píng)論 0 353
  • 文/不壞的土叔 我叫張陵篓像,是天一觀的道長(zhǎng)。 經(jīng)常有香客問(wèn)我皿伺,道長(zhǎng)员辩,這世上最難降的妖魔是什么? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 58,157評(píng)論 1 292
  • 正文 為了忘掉前任心傀,我火速辦了婚禮屈暗,結(jié)果婚禮上拆讯,老公的妹妹穿的比我還像新娘脂男。我一直安慰自己,他們只是感情好种呐,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,171評(píng)論 6 388
  • 文/花漫 我一把揭開(kāi)白布宰翅。 她就那樣靜靜地躺著,像睡著了一般爽室。 火紅的嫁衣襯著肌膚如雪汁讼。 梳的紋絲不亂的頭發(fā)上,一...
    開(kāi)封第一講書(shū)人閱讀 51,125評(píng)論 1 297
  • 那天吟逝,我揣著相機(jī)與錄音臭猜,去河邊找鬼涩赢。 笑死,一個(gè)胖子當(dāng)著我的面吹牛耸彪,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播忘苛,決...
    沈念sama閱讀 40,028評(píng)論 3 417
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼蝉娜,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼唱较!你這毒婦竟也來(lái)了?” 一聲冷哼從身側(cè)響起召川,我...
    開(kāi)封第一講書(shū)人閱讀 38,887評(píng)論 0 274
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤南缓,失蹤者是張志新(化名)和其女友劉穎,沒(méi)想到半個(gè)月后荧呐,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體汉形,經(jīng)...
    沈念sama閱讀 45,310評(píng)論 1 310
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,533評(píng)論 2 332
  • 正文 我和宋清朗相戀三年倍阐,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了获雕。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 39,690評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡收捣,死狀恐怖届案,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情罢艾,我是刑警寧澤楣颠,帶...
    沈念sama閱讀 35,411評(píng)論 5 343
  • 正文 年R本政府宣布,位于F島的核電站咐蚯,受9級(jí)特大地震影響童漩,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜春锋,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,004評(píng)論 3 325
  • 文/蒙蒙 一矫膨、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧期奔,春花似錦侧馅、人聲如沸。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 31,659評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)。三九已至肺孤,卻和暖如春罗晕,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背赠堵。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 32,812評(píng)論 1 268
  • 我被黑心中介騙來(lái)泰國(guó)打工小渊, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人茫叭。 一個(gè)月前我還...
    沈念sama閱讀 47,693評(píng)論 2 368
  • 正文 我出身青樓酬屉,卻偏偏與公主長(zhǎng)得像,于是被迫代替她去往敵國(guó)和親杂靶。 傳聞我的和親對(duì)象是個(gè)殘疾皇子梆惯,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,577評(píng)論 2 353

推薦閱讀更多精彩內(nèi)容