Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/spring/11.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在java配置文件中按名称获取bean_Java_Spring - Fatal编程技术网

在java配置文件中按名称获取bean

在java配置文件中按名称获取bean,java,spring,Java,Spring,我有一个java配置文件(带有@configuration注释的类)。它有一个带有@Bean注释的方法,我想根据一些参数实例化这个Bean。换句话说,我希望通过名称获取一个bean(通过参数传递)并实例化这个bean。 是否可以在@configuration类中执行此操作? config包含参数,我希望使用此参数并通过该名称获取bean。类似的操作应该可以: @Configuration public class ApplicationConfig { @Resource p

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


config包含参数,我希望使用此参数并通过该名称获取bean。

类似的操作应该可以:

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

    @Bean
    public Object application() throws ParseException {
        return new SampleApp(
                (appContext.getBean("beanNameFromConfig"));
    }
} 

像这样的方法应该会奏效:

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

    @Bean
    public Object application() throws ParseException {
        return new SampleApp(
                (appContext.getBean("beanNameFromConfig"));
    }
}