有没有办法使用Spring查找方法注入参数?例如,我希望能够实例化原型范围的bean,同时通过构造函数传递任意参数。
答案 0 :(得分:3)
看起来这个重要的功能最终在Spring 4.1.0.RC2中添加了。我测试了它,它似乎工作。
它是作为JIRA票证SPR-7431 ("Passing lookup-method arguments to created bean constructor")的一部分添加的:
<查找法/>应该允许指定任意数量的参数。这些参数应该直接传递给新创建的bean的构造函数。
有关如何最终添加该功能的更多信息,this blog post是由打开JIRA票证的人编写的。
答案 1 :(得分:1)
您可以通过field / setter进样注入它们。 (请注意,构造函数注入受到spring的反对,尽管它是受支持的)
答案 2 :(得分:0)
相反,您可以使用反射来实例化类并自己传递任意参数:
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);