2.16@Primary
戴着假发的程序员出品 抖音ID:戴着假发的程序员 欢迎关注
[查看视频教程]
1 package org.springframework.context.annotation; 2 3 @java.lang.annotation.Target({java.lang.annotation.ElementType.TYPE, java.lang.annotation.ElementType.METHOD}) 4 @java.lang.annotation.Retention(java.lang.annotation.RetentionPolicy.RUNTIME) 5 @java.lang.annotation.Documented 6 public @interface Primary { 7 }
@Primary可以注解在由spring管理的类上方和@bean注解的方法上方。作用和bean标签的primary属性一致。
就是让其他bean在把当前bean作为注入对象时,如果存在多个和当前Bean同类型的bean,则优先选择当前bean。当然如果有多个同类型的bean并且多个bean上都注释了@Primary,则会抛出异常。
1 /** 2 * @author 戴着假发的程序员 3 * 4 * @description 5 */ 6 @Component 7 @Primary 8 public class ArticleDAO_other implements IArticleDAO { 9 @Override 10 public int save(String title) { 11 System.out.println("ArticleDAO_other-save->保存文章:"+title); 12 return 1; 13 } 14 }
我是戴着假发的程序员,分享技术,分享经验,如果要转载,请注明:出自戴着假发的程序员