本節(jié)主要:
1:解析spring boot入口和@SpringBootApplication源碼詳解
SpringBootApplication包含:
@SpringBootConfiguration
@ComponentScan
@EnableAutoConfiguration
本文是《凱哥陪你學(xué)系列-框架學(xué)習(xí)之spring boot框架學(xué)習(xí)》中第二篇 spring boot核心(1)
聲明:本文系凱哥Java(www.kaigejava.com)原創(chuàng),未經(jīng)允許,禁止轉(zhuǎn)載点楼!
一:spring boot 入口和注解解析
回顧上篇中,我們講到第一個(gè)spring boot應(yīng)用中入口:
請(qǐng)點(diǎn)擊此處輸入圖片描述
說(shuō)明:
spring boot的項(xiàng)目一般都會(huì)有*Application的入口類凉夯,入口類中會(huì)有main方法壳嚎。這是一個(gè)標(biāo)準(zhǔn)的java應(yīng)用程序的入口方法娄周。
@controller:這個(gè)注解是spring的绎橘。聲明是一個(gè)controller類迟赃。
@springBootApplication:這個(gè)是springboot的注解诈闺。
請(qǐng)看這個(gè)類的源碼:
請(qǐng)點(diǎn)擊此處輸入圖片描述
從源碼中渴庆,我們可以看到這個(gè)注解其實(shí)是一組組合注解。
先來(lái)看@springbootConfiguration這個(gè)注解雅镊。
請(qǐng)點(diǎn)擊此處輸入圖片描述
從其源碼中襟雷,我們可以看到該注解使用了@configuration注解。所以在使用@springbootConfiguration注解的時(shí)候仁烹,可以不使用@configuration注解耸弄。
其實(shí)在springboot項(xiàng)目中給推薦使用springbootConfiguration來(lái)替代@configuration注解的。
回來(lái)接著看springbootApplication注解卓缰,其包含了@componentScan注解计呈。
@componentScan源碼如下:
請(qǐng)點(diǎn)擊此處輸入圖片描述
@conponentScan:這個(gè)注解默認(rèn)掃描@springbootapplication所在類的同級(jí)目錄以及他的子目錄。
從componentscan源碼注釋中我們可以看要:
請(qǐng)點(diǎn)擊此處輸入圖片描述
@EnableAutoConfiguration注解講解:
查看該注解源碼及注釋:
請(qǐng)點(diǎn)擊此處輸入圖片描述
該注解啟用自動(dòng)配置征唬。從源碼的注釋中我們可以知道捌显,該注釋會(huì)使spirng boot根據(jù)項(xiàng)目中依賴的jar包自動(dòng)配置項(xiàng)目的配置項(xiàng)。
例如:我們?cè)趐om.xml中配置了spring-boot-starter-web的依賴总寒,項(xiàng)目中也就會(huì)引入SpringMVC的依賴苇瓣,Spring?Boot就會(huì)自動(dòng)配置tomcat和SpringMVC。spring boot自動(dòng)配置后如下圖:
請(qǐng)點(diǎn)擊此處輸入圖片描述
延伸:
通過(guò)上面的了解偿乖,我們得知击罪,spring boot會(huì)根據(jù)項(xiàng)目中jar包依賴,自動(dòng)做出配置贪薪,spring boot支持的自動(dòng)配置如下(非常多的媳禁。下圖并非全部):
請(qǐng)點(diǎn)擊此處輸入圖片描述
從上圖中我們可以看到很多我們熟悉的已經(jīng)被自動(dòng)配置了。
如:
批處理框架 spring batch画切。
cache緩存
spring cloud
數(shù)據(jù)處理的 spring jpa
mongodb竣稽、neo4j、redi霍弹、solr等
如果我們想毫别,不需要spring boot自動(dòng)配置,想關(guān)閉某一項(xiàng)的自動(dòng)配置典格,又該如何設(shè)置呢岛宦?
歡迎繼續(xù)學(xué)習(xí)下一篇。在下一篇中我們將做出解答耍缴。
本系列其他文章:
spring boot框架學(xué)習(xí)學(xué)前掌握之重要注解(1)-spring的java配置方式
spring boot框架學(xué)習(xí)學(xué)前掌握之重要注解(2)-通過(guò)java的配置方式進(jìn)行配置spring
spring boot框架學(xué)習(xí)學(xué)前掌握之重要注解(3)-通過(guò)注解方式讀取外部資源配置文件
spring boot框架學(xué)習(xí)學(xué)前掌握之重要注解(4)-通過(guò)注解方式讀取外部資源配置文件2
spring boot框架學(xué)習(xí)1-認(rèn)識(shí)spring boot和快速入門(mén)
spring boot框架學(xué)習(xí)2-spring boot核心(1)
歡迎關(guān)注凱哥公眾號(hào):凱哥Java
歡迎訪問(wèn)凱哥個(gè)人網(wǎng)站:www.kaigejava.com
本文出處:http://www.kaigejava.com/article/detail/49