springBoot手動裝配,自動裝配 實例

  將今天崗培關於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

希望能幫助到有需要的小夥伴。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章