如何使用Spring注释配置实现模板方法模式?

时间:2016-08-16 21:26:28

标签: java spring

如何使用Spring注释配置实现模板方法模式?

我想用抽象bean实现一个基本@Configuration,应该在每个派生配置中替换它。

所有配置将一起使用。

{{1}}

我很困惑我的父配置不包含任何bean,只有糟糕的java方法。是春天吗?可以更优雅地实施吗?

1 个答案:

答案 0 :(得分:-1)

As of Spring 4.3,您可以将Collection<T>类型的bean注册为autowire(尽管您不能将多个集合或集合与&#34;松散的&#34; bean混合)。在这种情况下,您可以收集所有模板,然后然后在一个地方创建复杂的bean:

@Bean
public List<ComplexBean> complexBeans(Collection<TemplateBean> templates) {
    return templates.toStream().map(ComplexBean::new).collect(Collectors.toList());
}

(显然,如果你不能使用ComplexBean::new,那将会有点啰嗦,但同样的原则适用。)