2017-05-30 7 views
0

Java構成ファイル(@configurationアノテーションを持つクラス)があります。 @Beanアノテーションを持つメソッドが1つあり、いくつかの引数に基づいてこのBeanをインスタンス化したいと考えています。言い換えれば、私は(引数を介して渡された)名前でBeanを取得し、このBeanをインスタンス化したいと思います。
これは@configurationクラスで可能ですか?
Java構成ファイルの名前でgetBeanを取得

@Configuration 
public class ApplicationConfig { 
    @Resource 
    private Config config; 
    @Bean 
    public Object application() throws ParseException { 
     return new SampleApp(/*get the bean by name*/); 
    } 
} 

設定は、引数が含まれていると私は、この引数を使用し、その名前でBeanを取得したいと思います。

答えて

2

このような何か作業をする必要があります:

@Configuration 
public class ApplicationConfig { 
    @Resource 
    private Config config; 
    @Autowired 
    private ApplicationContext appContext; 

    @Bean 
    public Object application() throws ParseException { 
     return new SampleApp(
       (appContext.getBean("beanNameFromConfig")); 
    } 
} 
関連する問題