1、@import只能用在類上,@import通過快速匯入的方式實現把例項加入spring的ioc容器中@import的三種用法主要包括:2、加入ioc容器的方式有很多種,@import註解就相對很牛皮了,@import註解可以用於匯入第三方包,當然@bean註解也可以,但是@import註解快速匯入的方式更加便捷
3、@import註解有三種用法
1、直接填class陣列方式2.1、第一種用法:直接填class陣列2、importselector方式【重點】
3、importbeandefinitionregistrar方式
直接填對應的class陣列,class陣列可以有0到多個。
語法如下:
@import()
public class testdemo
對應的import的bean都將加入到spring容器中,這些在容器中bean名稱是該類的全類名,比如com.yc.類名
2.2、第二種用法:importselector方式【重點】
這種方式的前提就是乙個類要實現importselector介面,假如我要用這種方法,目標物件是myclass這個類,分析具體如下:
建立myclass類並實現importselector介面
public class myclass implements importselector
}
分析實現介面的selectimports方法中的:
需要注意的是selectimports方法可以返回空陣列但是不能返回null,否則會報空指標異常!以上分析完畢之後,具體用法步驟如下:
第一步:建立myclass類並實現importselector介面,這裡用於演示就新增乙個全類名給其返回值
public class myclass implements importselector ;}}
第二步:編寫testdemo 類,並標註上使用importselector方式的myclass類
@import()
public class testdemo
}
可以看出,宜春故意挑了個龍套角色@bean註解
第三步:編寫列印容器中的元件測試類
/**
* 列印容器中的元件測試
*/public class annotationtestdemo }}
第四步:執行結果
2.3、第三種用法:importbeandefinitionregistrar方式
同樣是乙個介面,類似於第二種importselector用法,相似度80%,只不過這種用法比較自定義化註冊,具體如下:
第一步:建立myclass2類並實現importbeandefinitionregistrar介面
public class myclass2 implements importbeandefinitionregistrar
}
引數分析:
第二步:編寫**,自定義註冊bean
public class myclass2 implements importbeandefinitionregistrar
}
第三步:編寫testdemo 類,並標註上使用importbeandefinitionregistrar方式的myclass2類
@import()
public class testdemo
}
第四步:執行結果
第一種用法:以上三種用法方式皆可混合在乙個@import中使用,特別注意第一種和第二種都是以全類名的方式註冊,而第三中可自定義方式。@import註解本身在springboot中用的很多,特別是其中的第二種用法importselector方式在springboot中使用的特別多,尤其要掌握!@import
( ):容器會自動註冊這個元件,id預設是全類名第二種用法:importselector
:返回需要匯入的元件的全類名陣列,springboot底層用的特別多【重點】第三種用法:
importbeandefinitionregistrar
:手動註冊bean到容器
Spring註解 Import註解
常用的匯入註解分類 註冊自己寫的類service dao controller可用包掃瞄 元件標註註解 controller service repository component bean 匯入的第三方包裡面的元件 import 快速給容器中匯入乙個元件 1 import 要匯入到容器中的元件 ...
spring常用註解 Import
1.先來看下 import的官方文件解釋 解釋下意思 1.該類主要是為了將元件註冊到容器中 2.註解裡面value值可以有四種型別,通過引入這四種型別的陣列,來註冊進容器,分別為configuration,importselector,importbeandefinitionregistrar or...
Spring 註解之 Import 注入的各種花活
pig4cloud 中涉及的 import 的注入形式。通過不同形式的注入方式,最大程度使得架構簡潔。import匯入乙個元件 來看 enablepigxdynamicroute 這個註解,當我們需要開始動態資料來源時,只需要在main 方法加上此註解即可。target retention rete...