將今天崗培關於springBoot容器裝配的知識整理一下,清理一下知識盲區,通過自己建立的小demo加深印象。
1.建立普通的web項目:
使用spirngBoot後,分分鐘可以搭建一個web項目。如下:
搭建好後,通過訪問地址可以進行驗證:
2.目錄結構:
這裏單獨強調一下目錄解構的原因在於: SpringBoot默認會掃描當前項目啓動類同級,及其下級的類,並進行裝配。 不利於這裏演示裝配的作用,因此這裏進行了包路徑的劃分。 可以理解爲不同的模塊。
我的包結構如下:
注意,啓動類與我將要寫的配置和註解文件,並不在同一個模塊下。
3.手動裝配
3.1通過Enablexxx 的註解方式裝配
首先,在其它模塊定義的一個註解:
註解內容如下:
相當於導入一個 外部 (指其它項目或者模塊) 配置文件 用於當前項目啓動時進行裝配。 內容如下,主要是用於演示這個步驟:
此時,我們將 定義的註解加在當前的啓動類上:
啓動程序後可看到效果:
3.2通過Selector接口裝配
與上個類似,首先定義一個註解:
同樣注意,這裏所說的配置文件,依然是項目外配置文件。
此時可以將註解加到我們的啓動類上:
啓動程序,查看默認條件變量下的表現:
修改條件變量,查看錶現:
3.3條件裝配
同樣,首先定義註解:
爲了與前面的例子解耦,我將其配置文件寫在了當前模塊下:
運行後,可以看到控制檯並沒有變化:
將其改爲被放行變量 automannn後,可以查看效果:
4.自動裝配
以上的例子都有個特點,那就是需要自己添加註解,開啓相應的模塊功能。這也是稱之爲手動的原因。
爲了進一步簡化,即啥都不做就能用,可以使用 自動裝配。
首先,我們需要知道,任何一個jar包,都有一個 META-INF的文件夾。
springboot的自動裝配利用了這一點,在 META-INF下存放了一個 spring.factories的文件,裏面以鍵值對的方式存放了相應的自動裝配的類。
爲了顯示自動裝配的作用,我將上面手動裝配的註解都暫時先關閉:
此時,在resources下新建 META-INF文件夾,並新建spring.factories文件,在文件裏面設置相應的自動裝配的bean:
此時,啓動程序,可以看到效果:
本demo已經上傳至github,地址爲: springboot裝配demo
希望能幫助到有需要的小夥伴。