我是一個初學者使用城堡windsor;並有點介紹它與Apress Pro Mvc書。在我正在工作的項目中;我使用castlewindsor控制器工廠代替mvc控制器工廠;所以我可以有參數化的構造函數,我可以注入依賴關係。 有沒有辦法告訴windsorcontroller工廠無需通過構造函數就可以將值注入控制器類的屬性? 我想這樣做的原因是因爲我有Logging依賴; Emailler依賴;數據庫依賴性;主題引擎dEpendency;我不想在構造函數中使用這個參數。CastleWindsor也填寫班級字段
2
A
回答
2
默認情況下,當Windsor解析服務實現時,它將使用它可以滿足的公共setter填充所有屬性。
但是,需要注意的是,有時將依賴解析放入構造函數中是有意義的,因爲它確保了任何實例始終處於有效狀態。考慮單元測試場景,寫測試的人會爲了知道應該提供哪些依賴性而需要瘋狂。當所有依賴進入c'tor時,測試者將別無選擇,只能爲測試實例提供所有必需的依賴關係(如存根或模擬)。
無論如何,對於你的問題,溫莎支持C'tor 和財產注入默認
1
溫莎城堡將自動它知道如何填寫公衆制定者填寫任何屬性。
這意味着,如果你有一個類
public MyClass {
public SomeDependency {get; set;}
}
只要容器被配置爲知道如何解決SomeDependency它會嘗試解決,並注入它。
有時候我發現這個默認行爲很麻煩。 This facility會給你更好的粒度控制過程。
相關問題
- 1. 自動換班填寫
- 2. 如何填寫文件中的班級成員
- 3. Selenium IDE不填寫字段
- 4. 用many2many字段填寫many2one
- 5. 只有字段填寫
- 6. 填寫計數字段
- 7. PDFNet填寫簽名字段
- 8. 請填寫表單字段
- 9. 用戶無需填寫必填字段?
- 10. 只有在填寫其他字段時才需要填寫字段
- 11. 如何填寫內部班的Arraylist?
- 12. 如何填寫表格時,如何填寫其全部字段
- 13. 班級不會寫入我的SD卡
- 14. 寫作班級的方法測試類
- 15. Java。從其他班級執行班級?
- 16. 製作班級內的班級
- 17. 在班級內選擇班級
- 18. 從新班級取得班級
- 19. 「班級未註冊」哪個班級?
- 20. 返回班級內的私人班級
- 21. 如何訪問班級中的班級
- 22. 從另一個班級訪問班級?
- 23. 膨脹班級片段時出錯
- 24. 在網站上填寫字段
- 25. 僅在特定區域填寫字段?
- 26. 從PDF中刪除可填寫字段
- 27. Chrome popup請填寫此字段
- 28. 通過URL填寫HTML字段
- 29. 模型Laravel中的可填寫字段?
- 30. 自動填寫表單字段
如果它不填充屬性,但構造函數;我應該在哪裏看? – user149383 2009-08-02 21:07:06