小編帶著小白看springboot源碼2

上一節(jié)講到先創(chuàng)建maven項目,然后導(dǎo)入依賴牙寞,主配置類等步驟,現(xiàn)在來個快速創(chuàng)建一個springboot模板莫秆,不需要向上節(jié)那么繁瑣间雀。

1.快速創(chuàng)建springboot應(yīng)用

IDEA---->file---->new---->project---->Spring Initializer

注意jdk版本,然后就是下一步

點擊Next

后面一直點Next就ok了镊屎,很容易惹挟,很快就創(chuàng)建了一個springboot應(yīng)用了,再寫個controller缝驳,后面跟上一節(jié)一樣连锯。不贅述了。

2.認識@ConfigurationProperties注解(很重要的一個注解)

我們知道用狱,springboot應(yīng)用就是為了不寫xml配置文件运怖,盡量運用純注解的方式。這個注解的作用就是將一個實體類的屬性和一個配置文件(properties夏伊,yml)綁定一起摇展,我們可以通過修改配置文件的值來控制這個實體類的屬性值

properties:比如默認端口是8080,但是出于某些情況要修改為8081溺忧,我們只需要在.properties配置文件中寫入server.port=8081

yml:只需要在.yml配置文件中寫入下圖所示咏连,就可以了。

接下來我們來簡單認識一下yml配置文件(其實作用是跟xml差不多的鲁森,只不過比xml更簡單祟滴,運用空格來代替xml中的標簽)

看下面這個類:

來看yml給這個javabean綁定屬性值

其中,person這個名字可以隨便取歌溉,無所謂垄懂!

綠線標的最好對其,這樣的話當屬性多了,看起來一目了然埠偿,找起來很方便。

這些寫完之后榜晦,就給person類加上注解

接下來冠蒋,測試一下:

到這里@ConfigurationProperties注解的作用就差不多清楚了(當然還有一些注解,比如@ImportResource可以導(dǎo)入xml配置文件乾胶,【@PropertySource可以給配置類導(dǎo)入properties配置文件抖剿,@Value可以給單個屬性注入properties文件中的值】<-------這兩個通常一起用),其他注解可以自己去測試识窿,暫時用的比較少斩郎,所以就跳過,等以后碰到了在學(xué)一下喻频。

3.粗略認識xxxAutoConfiguration的作用

上一節(jié)說了缩宜,啟動主配置類的main方法,最終的結(jié)果就是去所有jar包下找“META-INFspring.factories”文件里面甥温,將里面的內(nèi)容轉(zhuǎn)換成properties文件锻煌,再根據(jù)傳入的鍵(EnableAutoConfiguration)對應(yīng)的值(就是很多的xxxAutoConfiguration),把這些自動配置類加載到容器里姻蚓。

繼續(xù)宋梧,這些自動配置類加載到容器里,不一定會有作用狰挡,只有滿足了特定的情況捂龄,這些自動配置類中就會有某些類出來起作用(這點很人性化)

舉個最簡單的自動配置類--------->HttpEncodingAutoConfiguration(是一個http編碼的自動配置類,相當于以前web.xml里面配置過一個CharacterEncodingFilter)

說這個之前加叁,學(xué)過spring注解版的人倦沧,一些簡單的注解應(yīng)該記得吧!比如以下注解:

@Bean:標在方法上面它匕;往容器里注入一些組件(就是有特殊作用的類)相當于xml中的<bean>標簽刀脏,通常在配置類里面

@Configuration:標在類上面;標注一個配置類超凳,相當于以前的xml配置文件愈污,里面有很多的@Bean

@Conditional(xxxx.class):標在類或方法上面;這個就是在xxxx.class類中有個match方法進行邏輯判斷轮傍,返回布爾值暂雹,返回true,則被@Conditional注解標注的配置類生效(本質(zhì)上就是這個被標注的配置類里面往容器里面導(dǎo)入組件)

回顧了一些spring的注解之后创夜,再來看HttpEncodingAutoConfiguration這個類

這里有個小邏輯注意一下:我們自己在yml設(shè)置屬性值------------->yml文件和javabean綁定,將javabean丟到容器里---------->HttpEncodingAutoConfiguration構(gòu)造器從容器中獲取javabean杭跪,保存供類中其他方法使用--------->如上圖中的filter.setEncoding(this.properties.getCharset().name());在那個javabean(此處為HttpEncodingProperties.class類中有個屬性Charset,屬性值DEFAULT_CHARSET,而DEFAULT_CHARSET=Charset.forName("UTF-8");所以默認就是設(shè)置utf-8編碼)

這也是說了一個最簡單的xxxAutoConfiguration涧尿,不過其他的自動配置類也類似這種原理系奉,可能還要復(fù)雜的多,那就要好好拆開慢慢理解了姑廉,后續(xù)我也會慢慢解析這種源碼來幫助我們理解缺亮。

在這里給大家提供一個學(xué)習(xí)交流的平臺,Java技術(shù)交流┟?810309655

具有1-5工作經(jīng)驗的桥言,面對目前流行的技術(shù)不知從何下手萌踱,需要突破技術(shù)瓶頸的可以加群。

在公司待久了号阿,過得很安逸并鸵,但跳槽時面試碰壁。需要在短時間內(nèi)進修扔涧、跳槽拿高薪的可以加群园担。

如果沒有工作經(jīng)驗,但基礎(chǔ)非常扎實枯夜,對java工作機制粉铐,常用設(shè)計思想,常用java開發(fā)框架掌握熟練的可以加群卤档。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末蝙泼,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子劝枣,更是在濱河造成了極大的恐慌汤踏,老刑警劉巖,帶你破解...
    沈念sama閱讀 218,755評論 6 507
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件舔腾,死亡現(xiàn)場離奇詭異溪胶,居然都是意外死亡,警方通過查閱死者的電腦和手機稳诚,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,305評論 3 395
  • 文/潘曉璐 我一進店門哗脖,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人扳还,你說我怎么就攤上這事才避。” “怎么了氨距?”我有些...
    開封第一講書人閱讀 165,138評論 0 355
  • 文/不壞的土叔 我叫張陵桑逝,是天一觀的道長。 經(jīng)常有香客問我俏让,道長楞遏,這世上最難降的妖魔是什么茬暇? 我笑而不...
    開封第一講書人閱讀 58,791評論 1 295
  • 正文 為了忘掉前任,我火速辦了婚禮寡喝,結(jié)果婚禮上糙俗,老公的妹妹穿的比我還像新娘。我一直安慰自己预鬓,他們只是感情好巧骚,可當我...
    茶點故事閱讀 67,794評論 6 392
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著珊皿,像睡著了一般。 火紅的嫁衣襯著肌膚如雪巨税。 梳的紋絲不亂的頭發(fā)上蟋定,一...
    開封第一講書人閱讀 51,631評論 1 305
  • 那天,我揣著相機與錄音草添,去河邊找鬼驶兜。 笑死,一個胖子當著我的面吹牛远寸,可吹牛的內(nèi)容都是我干的抄淑。 我是一名探鬼主播,決...
    沈念sama閱讀 40,362評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼驰后,長吁一口氣:“原來是場噩夢啊……” “哼肆资!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起灶芝,我...
    開封第一講書人閱讀 39,264評論 0 276
  • 序言:老撾萬榮一對情侶失蹤郑原,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后夜涕,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體犯犁,經(jīng)...
    沈念sama閱讀 45,724評論 1 315
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,900評論 3 336
  • 正文 我和宋清朗相戀三年女器,在試婚紗的時候發(fā)現(xiàn)自己被綠了酸役。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 40,040評論 1 350
  • 序言:一個原本活蹦亂跳的男人離奇死亡驾胆,死狀恐怖涣澡,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情丧诺,我是刑警寧澤暑塑,帶...
    沈念sama閱讀 35,742評論 5 346
  • 正文 年R本政府宣布,位于F島的核電站锅必,受9級特大地震影響事格,放射性物質(zhì)發(fā)生泄漏惕艳。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 41,364評論 3 330
  • 文/蒙蒙 一驹愚、第九天 我趴在偏房一處隱蔽的房頂上張望远搪。 院中可真熱鬧,春花似錦逢捺、人聲如沸谁鳍。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,944評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽倘潜。三九已至,卻和暖如春志于,著一層夾襖步出監(jiān)牢的瞬間涮因,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,060評論 1 270
  • 我被黑心中介騙來泰國打工伺绽, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留养泡,地道東北人。 一個月前我還...
    沈念sama閱讀 48,247評論 3 371
  • 正文 我出身青樓奈应,卻偏偏與公主長得像澜掩,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子杖挣,可洞房花燭夜當晚...
    茶點故事閱讀 44,979評論 2 355

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