是否可以在Spring Framework中使用注释设置bean名称?


问题内容

我有一个像这样的豆子:

@Bean
public String myBean(){
    return "My bean";
}

我想自动接线:

@Autowired
@Qualifier("myBean")
public void setMyBean(String myBean){
    this.myBean=myBean;
}

我需要类似的东西:

@Bean(name="myCustomBean")

开箱即用的豆可以使用自定义名称吗?如果不可能开箱即用,那么如何创建这样的bean?


问题答案:

您要问的内容 在Spring
4.3.3中提供

默认情况下,配置类使用@Bean方法的名称作为结果bean的名称。但是,可以使用name属性覆盖此功能。

@Configuration
public class AppConfig {

    @Bean(name = "myFoo")
    public Foo foo() {
        return new Foo();
    }

}