工厂方法中的链接方法

时间:2018-05-17 11:46:47

标签: java spring

是否可以在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)。

1 个答案:

答案 0 :(得分:1)

你做不到。您只需指定一个方法(即使没有括号)。但是在SomeObject类中,您可以创建一个为您执行此操作的静态方法。例如:

static SomeObject newFactoryMethod(){
    return builder().build();
}

并将其添加到XML:

<bean id="fooBar" class="com.foo.bar.SomeObject" factory-method="newFactoryMethod"/>