我有一个接口2实现。我通过@Component注释两个实现。如何将@Autowired注入默认值时,如何将其中一个特定为默认bean。
由于
答案 0 :(得分:2)
对您认为具有更高优先级的bean使用@Primary
注释。
来自doc
表示在多个bean时应该优先考虑bean 候选人有资格自动使用单值依赖。如果 正是一个主要的'豆子存在于候选者中,它将是 自动装配价值。
可以在任何直接或间接注释的类上使用 使用Bean注释的组件或方法。
除非在课堂级别使用Primary,否则无效 正在使用组件扫描。如果是主要注释类 通过XML声明,忽略主要注释元数据,而改为尊重
<bean primary="true|false"/>
。
答案 1 :(得分:0)
自动装配“按类型”工作,这意味着当只有一个bean匹配时它可以自动装配。当多个bean匹配时,使用Autowired + Qualifier注释。限定符调出bean的名称以自动装配。
这意味着当您声明组件时,您也需要为它们命名。