我不能使用注释来指示bean是主bean

我们知道在Spring中,有一个属性“primary”,表示如果有多个bean可以自动连接到属性,则bean是第一个候选者。

但是现在我的所有bean定义都是使用@Component / @Service等声明的,我找不到可用于声明bean的相应“primary”属性。

请告知我如何实现这一目标,谢谢。

在Spring 3.0中,您使用@Primary

表示当多个候选者有资格自动assembly单值依赖项时,应该优先考虑bean。 如果候选者中只存在一个“主”bean,则它将是自动assembly的值。

可以在任何直接或间接使用Component注释的类或使用Bean注释的方法上使用。

除非正在使用组件扫描,否则在类级别使用Primary无效。 如果通过XML声明了Primary-annotated类,则忽略Primary注释元数据,而忽略

请参阅参考文档 。

@Primary注释仅在使用Spring 3.0时才有效。

在Spring 2.5中,主属性没有等效的注释。 您必须使用@Qualifier批注指定要注入的bean。 另一个选择是为同一目的定义自己的限定符注释。

有关更多信息,请参阅文档 。