我想讓一段運行時狀態決定使用哪個接口的哪個實現,最好是僅通過自動裝配。Spring @Autowiring,如何使用對象工廠來選擇實現?
我曾嘗試製造物體的工廠接口泰德使用動態代理服務器,以及我用限定符脅迫的@Autowired注射使用工廠。限定符是必需的,因爲工廠和實現都響應相同的接口。
這個問題是我最終用@Qualifier註釋每個@Autowired引用。我真正想做的是用類似@NotCandidateForAutowiringByInterface(我的幻想註釋)的方式註釋非工廠實現,或者甚至更好地使Spring在注入非合格域時更喜歡單個未合格的bean
我可能會在這裏錯誤地思考,因此歡迎提供備選建議。 任何人都知道如何做到這一點?
Spring javaconfig解決了這個問題。但是,一旦你獲得完全註釋的配置的味道,javaconfig的整個概念似乎過度設計。對於javaconfig爲+1 – krosenvold 2008-11-14 17:14:57