本文介绍了是否可以在Spring Framework中使用注释设置bean名称?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我有这样的bean:
@Bean
public String myBean(){
return "My bean";
}
我想自动装箱:
@Autowired
@Qualifier("myBean")
public void setMyBean(String myBean){
this.myBean=myBean;
}
我需要这样的东西:
@Bean(name="myCustomBean")
是否可以使用开箱即用的bean自定义名称?如果开箱即可,那么如何创建这样的bean?
Is it possible to use custom names names for beans out of the box? If it isn't possible out of the box then how to create such a bean?
推荐答案
@Service("myMovieLister")
public class SimpleMovieLister {
// ...
}
By default, JavaConfig uses a
public class Main {
public static void main(String[] args) {
JavaConfigApplicationContext ctx = new JavaConfigApplicationContext();
ctx.setBeanNamingStrategy(new CustomBeanNamingStrategy());
ctx.addConfigClass(MyConfig.class);
ctx.refresh();
ctx.getBean("customBeanName");
}
}
=========== =================
============================
更新:
你问的是Spring中的已经可用
What you are asking is already available in Spring 4.3.3
@Configuration
public class AppConfig {
@Bean(name = "myFoo")
public Foo foo() {
return new Foo();
}
}
这篇关于是否可以在Spring Framework中使用注释设置bean名称?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!