有沒有辦法使用Spring查找方法注入參數?例如,我希望能夠通過構造函數傳遞任意參數的同時實例化原型範圍的bean。彈簧查找方法注入參數
7
A
回答
2
您可以通過field/setter注入來注入它們。 (請注意,構造函數注入在春季不受歡迎,但支持)
0
總之,沒有。 Spring確實支持所謂的「方法注入」,但它與你所想的不同。 Spring也支持構造函數注入,但是你不會自己調用構造函數,Spring就是自己調用構造函數。
相反,你可以使用反射來實例化自己的類,並通過任意參數:
Class<MyObject> clazz = MyObject.class; // this can be looked up or stored in a field, etc.
MyObject myObject = clazz.getConstructor(String.class, int.class)
.newInstance("arbitrary parameter", 42);
1
它看起來像在春天4.1.0.RC2最後加入這一重要功能。我測試了它,它似乎工作。
它加入作爲JIRA票SPR-7431 ("Passing lookup-method arguments to created bean constructor")的一部分:
<查找法/>應允許指定任意數量的參數。這些參數應該直接傳遞給新創建的bean的構造函數。
有關如何添加該功能的更多信息,this blog post是由打開JIRA門票的人員編寫的。
相關問題
- 1. Java彈簧注入
- 2. 彈簧MVC註釋控制器方法,無法「查找」方法DELETE操作
- 3. 彈簧設置參數到AOP方法
- 4. 以列表爲參數的彈簧數據查詢方法
- 5. 彈簧構造函數注入顯示爲空當在方法
- 6. 彈簧數據查詢方法創建
- 7. 工廠方法的彈簧註解
- 8. ASP.NET MVC Global.asax注入彈簧
- 9. 如何做多個參數的彈簧構造函數注入
- 10. 彈簧數據CRUD方法
- 11. CGLIB,彈簧和注入構造函數
- 12. 使用休眠彈簧注入數據
- 13. 彈簧數據Envers庫未能注入
- 14. 彈簧注入時將參數添加到servlet篩選器
- 15. 彈出查找方法注入失敗AbstractMethodError
- 16. 彈簧注入使用從一個靜態方法
- 17. 使用add方法在xml中進行彈簧注入
- 18. 因彈簧注入導致Junit方法調用失敗
- 19. 查詢參數閱讀彈簧集成
- 20. 注入帶註釋的方法參數
- 21. 彈簧數據與dbref的mongodb查找
- 22. 用彈簧引導和彈簧數據修正PUT方法
- 23. 查找方法的彈簧代碼替換
- 24. Spring中的查找方法注入
- 25. 彈簧注射和註釋
- 26. 彈簧注射值
- 27. 彈簧mvc url參數
- 28. 彈簧選擇參數
- 29. 彈簧參數太長
- 30. Mybatis彈簧變換參數
爲什麼在構造函數注入中使用setter注入會更好?我認爲它們是相同的。 – 2010-12-02 17:27:28