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容器加載了配置文件
2、在spring配置文件中,只要遇到bean的配置,就會為該bean創建對象
3、在納入spring容器的范圍內查找所有的bean,看哪些bean的屬性或者方法上加有@Resource
4、找到@Resource注解以后,判斷該注解name的屬性是否為""(name沒有寫)
如果沒有寫name屬性,則會讓屬性的名稱的值和spring中ID的值做匹配,如果匹配成功則賦值
如果匹配不成功,則會按照類型進行匹配,如果匹配不成功,則報錯
如果有name屬性,則會按照name屬性的值和spring的bean中ID進行匹配,匹配成功,則賦值,不成功則報錯
------------------照抄於別人的總結(2015)