@Resource從spring容器中獲取例項注入到類的成員變數中
1、在spring的配置檔案中匯入名稱空間
xmlns:context="http://www.springframework.org/schema/context"http://www.springframework.org/schema/context
http://www.springframework.org/schema/context/spring-context-2.5.xsd
2、引入註解解析器
<context:annotation-config></context:annotation-config>3、在spring的配置檔案中把bean引入進來
4、在一個類的屬性上加
@Resource(name="student_annotation")private Student student;
從該註解本身
@Target({TYPE, FIELD, METHOD})
@Retention(RUNTIME)
public @interface Resource {
String name() default "";
}
1、該註解可以用於屬性上或者方法上,但是一般用於屬性上
2、該註解有一個屬性name,預設值為""
5、分析整個過程
1、當啟動spring容器的時候,spring容器載入配置檔案,例項化所有的bean,或者掃描註解,將帶@Service註解的類例項化,註冊到spring容器中;
2、如果bean的屬性或者方法上加有@Resource,或者類(這個類不單單指帶@Service註解的類,任何一個類都可以在屬性或者方法上加有@Resource)的屬性或者方法上加有@Resource,找到@Resource註解以後(註解可能是@Resource(name="。。。")或者@Resource,有name屬性或者沒有),判斷該註解name的屬性是否為""(name沒有寫)如果沒有寫name屬性,則會讓屬性的名稱的值和spring中ID的值做匹配,如果匹配成功則賦值
如果匹配不成功,則會按照型別進行匹配,如果匹配不成功,則報錯
如果有name屬性,則會按照name屬性的值和spring的bean中ID進行匹配,或者與帶@Service註解的類中@Service("serviceName")的serviceName進行匹配,如果匹配成功,則賦值,不成功則報錯
ps:類的成員變數,與上文提到的類的屬性或者方法,是一個意思
相關文章
- 反射獲取注入到spring中的類物件的工具類反射Spring物件
- 獲取Spring容器中Bean例項的工具類(Java泛型方法實現)SpringBeanJava泛型
- 從Spring中學到的【2】--容器類Spring
- 子父類中成員變數變數
- Java中變數之區域性變數、本類成員變數、父類成員變數的訪問方法Java變數
- Java 通過反射獲取類的資訊(成員變數,成員方法,構造方法)Java反射變數構造方法
- 類成員函式作為map容器的value使用例項函式
- TypeScript 中 class 的例項成員與靜態成員TypeScript
- Python中類變數、成員變數、區域性變數的區別Python變數
- 成員變數、全域性變數、例項變數、類變數、靜態變數和區域性變數的區別變數
- .NET控制檯獲取依賴注入例項依賴注入
- C# 8: 可變結構體中的只讀例項成員C#結構體
- Angular 使用 Injector API 人工獲取依賴注入的例項AngularAPI依賴注入
- 類成員變數的初始化變數
- 03 #### `__dict__` , 用於獲取物件中的成員物件
- Python - 物件導向程式設計 - 類變數、例項變數/類屬性、例項屬性Python物件程式設計變數
- C#快速入門教程(3)——類的靜態成員和例項成員C#
- SpringBoot EL獲取系統中變數的方式Spring Boot變數
- SSIS中Sql任務中獲取系統變數的方式SQL變數
- 聊聊自定義SPI如何使用自定義標籤注入到spring容器中Spring
- python 從mongodb中獲取資料載入到pandas中PythonMongoDB
- 類的靜態成員變數和普通成員變數該怎樣去區別定義變數
- C++類中的常成員和靜態成員C++
- 類的成員變數的初始化順序變數
- React獲取元件例項React元件
- Java bean 鏈式獲取成員變數無需判空的工具設計JavaBean變數
- 在Python中將字典轉為成員變數的方法Python變數
- 成員變數變數
- 18、繼承以及繼承中成員變數和成員方法的重名問題繼承變數
- python中類的建立和例項化Python
- mssql sqlserver 從指定字串中獲取數字的方法SQLServer字串
- 對於靜態成員來說是類的建構函式,對於例項成員是類的原型物件。函式原型物件
- JAVA之反射學習3-反射獲取成員變數並賦值Java反射變數賦值
- 從已執行容器獲取 docker run 引數Docker
- 類,物件,成員變數和區域性變數,匿名物件物件變數
- Spring中Bean的例項化詳細流程SpringBean
- java中父類宣告子類例項化Java
- 獲取當前Tomcat例項的埠Tomcat
- 在例項中呼叫 Invoke 型別的類型別