java配置文件中的名称getBean

时间:2017-05-30 12:28:37

标签: java spring

我有一个java配置文件(带有@configuration注释的类)。它有一个带@Bean注释的方法,我想根据一些参数实例化这个bean。换句话说,我想通过名称获取bean(通过参数传递)并实例化此bean。
是否可以在@configuration类中执行此操作?

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

config包含参数,我想使用这个参数并以该名称获取bean。

1 个答案:

答案 0 :(得分: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"));
    }
}