2012-10-31 33 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:你可以發佈你的答案嗎? –

相關問題