2012-10-31 34 views
0

造成的问题之后:需要创建的Converter个集合bean定义从@Configuration

我有一颗豆(ConversionService)。因此,在我的@Configuration类中,我有一个@Bean,这是一个Collection<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

您应该能够使用@PostConstruct标注在@Configuration注解类的东西添加到您的converters

@Configuration 
public class MyConfiguration { 

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

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

} 
+0

有没有办法只使用spring类来做到这一点? @PostConstruct是一个javax注释。 –

+0

完美,我得到它实现org.springframework.beans.factory.InitializingBean感谢您的帮助亚历克斯! –

+0

@JavaMentor:你可以发布你的答案吗? –

相关问题