在彈簧最新版本中,我們可以使用註釋自動裝配一個豆,如@Autowired
。這將使用它的類型(或構造函數,如果應用它)自動裝載bean。 有什麼辦法可以使用@Autowired
基於我們在Spring的XML文件中沒有註釋的bean名稱的註釋:autowire =「byName」?按名稱使用註釋自動裝配彈簧豆
43
A
回答
41
您可以使用可以使用JSR-250 @Resource
進行名稱bean自動裝配,除非需要構造器注入或多參數方法被拒絕。。
從文檔:
如果要表達的名字註解驅動的注入,不主要使用@Autowired,即使在技術上是能夠通過@Qualifier值指的是bean的名字。相反,使用JSR-250 @Resource註釋,該註釋在語義上定義爲通過其唯一名稱來標識特定的目標組件,並且聲明的類型與匹配過程無關。
86
1
我在使用bean名稱代理,這個代理搞亂了名稱的自動裝配。 @Resource沒有這個問題,因爲它不關心類型。所以現在我知道Spring開發人員推薦這個建議的原因之一:-)只是FYI
+0
在Spring文檔中提到了另外一個原因:......本身被定義爲集合或映射類型的bean不能通過@Autowired注入,因爲類型匹配不適用於它們。 – rwitzel 2014-01-03 13:39:37
2
如果你想定義它們將在DI容器中註冊的bean的名字,你可以在註釋本身中傳遞這個名字,例如@Service(「employeeManager」)。
然後使用下面的代碼,你可以按名稱
@Autowired
@Qualifier("employeeManager")
private EmployeeManagerService employeeManagerService;
1
使用@Component( 「beanname」)在bean的Java類定義
然後同時自動裝配使用JSR 330
啓用自動連線@Inject @Named(Value =「beanname」)
相關問題
- 1. 指定彈簧豆與註釋
- 2. 彈簧豆配置
- 3. 彈簧配置 - 注入模擬豆
- 4. 自動裝配彈簧豆在駱駝處理器
- 5. 彈簧自動裝配合格豆的集合
- 6. 彈簧自動裝配自動檢測
- 7. 彈簧自動裝配:不起作用
- 8. 彈簧自動裝配Struts動作類
- 9. 自動裝配豆
- 10. 來自javascript的彈簧控制器調用。彈簧註釋
- 11. 使用彈簧註釋自動檢測組件
- 12. 彈簧注射和註釋
- 13. 彈簧自動裝配工作不
- 14. 彈簧的自動裝配行爲
- 15. 彈簧自動裝配異常
- 16. 彈簧自動裝配與ibatis的
- 17. 彈簧自動裝配和類繼承
- 18. 彈簧4 TestNG的+ @自動裝配Autowired
- 19. 彈簧自動裝配和SessionFactory的
- 20. 彈簧自動裝配停在GAE
- 21. 彈簧自動裝配bean是空
- 22. 彈簧自動裝配使用配置類
- 23. 調用使用自動裝配豆
- 24. 彈簧註釋配置問題
- 25. 我如何將「nulls」注入自動佈線的彈簧豆?
- 26. 使用註釋配置的bean的彈簧安全配置
- 27. 動態更改彈簧豆
- 28. 如何在彈簧mvc中使用帶註釋配置的彈簧數據
- 29. 在彈簧中使用Mockito註釋
- 30. 如何使用jobService spring批處理管理自動裝配註釋彈簧啓動?
很棒的發現。這並不明顯。 – ATrubka 2015-08-27 16:35:49
應該不是'@ Autowired'而不是'@ Autowire'? – user3114157 2016-11-25 10:16:54