Spring 梳理 - @Autowired VS @Resource
阿新 • • 發佈:2018-12-31
- Autowired
-
@Autowired顧名思義,就是自動裝配,其作用是為了消除程式碼Java程式碼裡面的getter/setter與bean屬性中的property。當然,getter看個人需求,如果私有屬性需要對外提供的話,應當予以保留。
-
這裡@Autowired註解的意思就是,當Spring發現@Autowired註解時,將自動在程式碼上下文中找到和其匹配(預設是型別匹配)的Bean,並自動注入到相應的地方去。
- @Autowired(required = false)
-
public class TestServiceImpl {
- @Autowired介面注入
- 介面有兩個實現類,Spring並不知道應當引用哪個實現類。這種情況通常解決辦法:
- 使用@Qualifier註解,注意@Qualifier註解Car介面實現類的類名,不是bean的名稱
-
@Autowired @Qualifier("BMW") private Car car;
-
- @Resource
- @Resource 與 @Autowired功能相似
- 預設通過name屬性去匹配bean,找不到再按type去匹配
- 可以指定name或者type
-
@Resource(name = "xxx") private Yyy y1; @Resource(type
-
- @Resource VS @Autowired
- 、@Autowired是Spring的註解,@Resource是J2EE的註解