@Autowire和@Resource註解的區別

我是壞男孩發表於2018-05-14

1.@Autowire是Spring開發的,而@Resource是jdk開發的

2.@Autowire是按照type來註解的,而@Resource是按照名稱來的,如果名稱找不到,那麼就按照type,,如下有例子,我自己測試過, 在一個實現類AnnouncementImpl 加上@Service 在圖1-1,那麼名稱就是myovieLister 型別就是 AnnouncementImpl ,我在 controller層使用的時候可以用 @Autowire或者@Resource都是沒問題的

 1-1

這裡有個注意的地方:Resource 是先按照 name來注入,如果找不到就按照型別, 不過如果在controller使用的時候,指定了name的值,那就只能按照name來注入,找不到name就會報錯,詳細看圖1-2,如果想要實現先按照name,找不到再按照type,就不要去指定name

1-2

 

 

相關文章