是否可以在spring中链接factory-method
中的方法来创建bean。例如,我有以下API:
SomeObject.builder().build();
有没有什么方法可以直接在Spring XML配置中创建这个bean而不创建2个bean?例如,
<bean id="fooBar" class="com.foo.bar.SomeObject" factory-method="builder().build"/>
注意:SomeObject.builder()
调用会在SomeObjectBuilder
内返回private static class
个对象(SomeObject
)。
答案 0 :(得分:1)
你做不到。您只需指定一个方法(即使没有括号)。但是在SomeObject
类中,您可以创建一个为您执行此操作的静态方法。例如:
static SomeObject newFactoryMethod(){
return builder().build();
}
并将其添加到XML:
<bean id="fooBar" class="com.foo.bar.SomeObject" factory-method="newFactoryMethod"/>