spring學習11:註解實現自動裝配
阿新 • • 發佈:2022-04-11
-
註解實現自動裝配:
-
JDK1.5支援的註解;
-
Spring從2.5開始就支援註解;
-
-
要使用註解須知:
-
1,匯入約束;
xmlns:context="http://www.springframework.org/schema/context"
-
2,配置註解的支援【重要】;
<context:annotation-config/>
-
3,樣例:
-
-
使用註解:
@Autowired
-
-
使用@Autowired我們可以不用編寫Set方法了,前提是你這個自動裝配的屬性在IOC(Spring)容器中存在且符合我們的名字規則(ByType);
-
科普:
@Nullable 欄位標記了這個註解,說明這個欄位可以為null;
public @interface Autowired {
boolean required() default true;
}
-
xml配置:一定要開啟註解支援;
-
pojo類添加註解: @Autowired
public class Person {
//如果顯式的定義了Autowired的屬性為false,說明這個物件可以為null,否則不能為空
-
如果@Autowired自動裝配的環境比較複雜,當自動裝配無法通過一個註解【@Autowired】
-
@Resource註解:
-
@Resource也可以加引數:@Resource(name="cat11")
public class Person {
-
-
-
總結:
-
@Resource 和 @Autowired的區別:
-
相同點:都是用來自動裝配的,都可以放在屬性欄位上;
-
不同點:
-
@Autowired通過ByType的方式實現,而且必須要求這個物件存在;【常用】
-
@Resouce預設通過ByName的方式實現,如果找不到名字,則通過ByType實現;如果2個都找不到就報錯;
-
執行順序不同:@Resouce是通過ByType的方式實現,@Resouce預設通過ByName的方式實現
-
-
-