ApplicationContext通过名称获得注释bean



试图搜索答案-没有运气,所以发布了一个问题。

@ConfigurationProperties
class XYZConfig {
    int f1....
}
我稍后尝试在应用程序中按名称获取此bean,但唯一可用的名称是完全限定的名称。我尝试使用@Component(value="xyzconfig")也没有运气

我想知道是否有一种方法可以为bean设置一个简短的名称,而无需进入xml并显式指定它?

我不完全理解你在尝试什么,但是如果你的类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

可见。

最新更新