我想知道是否有一种方法可以从 .bean 中学习 bean 的@Qualifier
值(如果有的话)BeanDefinition
。尽管限定符是 bean 的一个重要属性,但我在 BeanDefinition 接口或其任何继承者上没有看到适当的方法。
我想知道是否有一种方法可以从 .bean 中学习 bean 的@Qualifier
值(如果有的话)BeanDefinition
。尽管限定符是 bean 的一个重要属性,但我在 BeanDefinition 接口或其任何继承者上没有看到适当的方法。
如果
BeanDefinition
是 的类型AnnotatedBeanDefinition
,您可以转换为它并使用它getMetadata()
或getFactoryMethodMetadata()
获取其注释相关数据。例如,如果 bean 以传统方式定义,例如:
然后 :
将为您提供该 bean 的属性映射,
@Qualifier
其值为{value=foo}
另一方面,如果 bean 是通过
@Bean
以下方法定义的:然后 :
将为您提供一个属性映射,
@Qualifier
其中{value=bar}
如果 bean 定义时没有任何
@Qualifier
,则qualifierAttribute
map 将为 null。