@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物件
- ruby中的類例項變數和例項的例項變數變數
- 獲取Spring容器中Bean例項的工具類(Java泛型方法實現)SpringBeanJava泛型
- 子父類中成員變數變數
- 從Spring中學到的【2】--容器類Spring
- Java中變數之區域性變數、本類成員變數、父類成員變數的訪問方法Java變數
- Java 通過反射獲取類的資訊(成員變數,成員方法,構造方法)Java反射變數構造方法
- 通過反射獲取類的類名,方法和內部成員變數反射變數
- Python中類變數、成員變數、區域性變數的區別Python變數
- TypeScript 中 class 的例項成員與靜態成員TypeScript
- 類成員函式作為map容器的value使用例項函式
- 成員變數、全域性變數、例項變數、類變數、靜態變數和區域性變數的區別變數
- Spring學習筆記四: 從Spring容器中獲取BeanSpring筆記Bean
- 探討Java類中成員變數的初始化方式Java變數
- 如何保證一個類中的例項變數不被改變變數
- XPAGES 中CGI變數的獲取變數
- C# 8: 可變結構體中的只讀例項成員C#結構體
- 反射-通過反射獲取成員變數並使用反射變數
- js獲取數字中的最小數字程式碼程式碼例項JS
- Java中類的成員方法和變數的訪問許可權Java變數訪問許可權
- .NET控制檯獲取依賴注入例項依賴注入
- 03 #### `__dict__` , 用於獲取物件中的成員物件
- 類成員變數的初始化變數
- Angular 使用 Injector API 人工獲取依賴注入的例項AngularAPI依賴注入
- java內部類之成員內部類例項Java
- 使用類繼承還是類的成員變數繼承變數
- 關於JS中變數的作用域-例項JS變數
- SSIS中Sql任務中獲取系統變數的方式SQL變數
- 關於Java中類的成員Java
- jQuery獲取選中核取方塊的值程式碼例項jQuery
- Java類獲取spring 容器的bean的5種方法JavaSpringBean
- C++類中的常成員和靜態成員C++
- C#快速入門教程(3)——類的靜態成員和例項成員C#
- 類的靜態成員變數和普通成員變數該怎樣去區別定義變數
- Qt中MainWindow類例項QTAI
- 聊聊自定義SPI如何使用自定義標籤注入到spring容器中Spring
- 成員變數變數
- 獲取選中checkbox核取方塊的值程式碼例項