ApplicationContext按名称获取带注释的bean

时间:2015-07-23 18:00:23

标签: spring

试图寻找答案 - 没有运气,所以发帖提问。

我有

@ConfigurationProperties
class XYZConfig {
    int f1....
}

我稍后尝试在我的应用程序中按名称获取此bean,但唯一可用的名称是完全合格的名称。我试图使用@Component(value="xyzconfig")没有运气

我想知道是否有办法为bean设置一个简短名称而不进入xml并明确指定它?

1 个答案:

答案 0 :(得分:0)

我不完全明白你在尝试什么,但是如果你的类XYZConfig应该是配置类,那么将会创建一个bean,而不是你需要用@Configuration注释这个类。同样在您的上下文.xml文件中,您需要添加<annotation-driven/>并设置<context:component-scan base-package="your.package.wit.classes.for.scanning"></context:component-scan>

但是,如果这个类真的必须是Bean然后创建简单的java类(即:BeanClass),稍后在你的配置创建方法如下:

@Bean
public BeanClass beanClassName(){
BeanClass bc = new BeanClass()
...
return bc;

稍后这个bean将以id / name beanClassName

显示