从@Configuration创建bean定义之后

时间:2012-10-31 07:32:48

标签: java spring spring-annotations

问题:

我有一个bean(ConversionService)需要创建Converter的集合。因此,在我的@Configuration课程中,我的@BeanCollection<Converter>,具有特定的@Qualifier

对于我的ConversionService @Bean,我使用我的Converter收到@Qualifier集合作为参数:

@Bean
public ConversionService createConversionService(@Qualifier("converters") converters) {
    // here I perform the ConversionService creation
}

这是有效的,也正是我想要的。但我有几个@Configuration类,每个类都可以添加一些Converter集合。我最初可能有一种方法可以实现从@Configuration类读取bean定义后调用的方法。像这样:

@Configuration
public class MyConfiguration {

    @Autowired
    @Qualifier("converters")
    private Collection<Converter> converters;

    public void init() {
        converters.add(xy);
    }

}

甚至

@Configuration
public class MyConfiguration {

    public void init(@Qualifier("converters") Collection<Converter> converters) {
        converters.add(xy);
    }

}

1 个答案:

答案 0 :(得分:1)

您应该可以使用@PostConstruct注释在converters带注释的班级中为@Configuration添加内容。

@Configuration
public class MyConfiguration {

    @Autowired
    @Qualifier("converters")
    private Collection<Converter> converters;

    @PostConstruct
    public void init() {
        converters.add(xy);
    }

}