如何使用Spring注释配置实现模板方法模式?
我想用抽象bean实现一个基本@Configuration,应该在每个派生配置中替换它。
所有配置将一起使用。
{{1}}
我很困惑我的父配置不包含任何bean,只有糟糕的java方法。是春天吗?可以更优雅地实施吗?
答案 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
,那将会有点啰嗦,但同样的原则适用。)