带参数的Spring查找方法注入

有没有办法使用Spring查找方法注入参数? 例如,我希望能够通过构造函数传递任意参数的同时实例化原型范围的bean。


你可以通过现场/ setter注入来注入它们。 (请注意构造函数注入在春季不受欢迎,尽管它受支持)


看起来这个重要功能最终被添加到了Spring 4.1.0.RC2中。 我测试了它,它似乎工作。

它是作为JIRA票据SPR-7431的一部分添加的(“将查找方法参数传递给创建的bean构造函数”):

<lookup-method />应该允许指定任意数量的参数。 这些参数应该直接传递给新创建的bean的构造函数。

有关该功能最终如何添加的更多信息,此博客文章是由打开JIRA票据的人撰写的。


总之,没有。 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);
链接地址: http://www.djcxy.com/p/3873.html

上一篇: Spring lookup method injection with parameters

下一篇: How can I access my trackpad in C#?