有没有办法使用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