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

Mat*_*att 8 java spring annotations autowired

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

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

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

ska*_*man 26

在Spring 3.0中,您使用@Primary.

指示当多个候选者有资格自动装配单值依赖项时,应优先考虑bean.如果候选者中只存在一个"主"bean,则它将是自动装配的值.

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

除非正在使用组件扫描,否则在类级别使用Primary无效.如果通过XML声明了主要注释类,则会忽略主要注释元数据, <bean primary="true|false"/>而是会受到尊重.

请参阅参考文档.