戴着假发的程序员出品 抖音ID:戴着假发的程序员 欢迎关注
spring应用手册(第二部分)
@Primary源码 package org.springframework.context.annotation; @java.lang.annotation.Target({java.lang.annotation.ElementType.TYPE, java.lang.annotation.ElementType.METHOD}) @java.lang.annotation.Retention(java.lang.annotation.RetentionPolicy.RUNTIME) @java.lang.annotation.Documented public @interface Primary { }@Primary可以注解在由spring管理的类上方和@bean注解的方法上方。作用和bean标签的primary属性一致。
就是让其他bean在把当前bean作为注入对象时,如果存在多个和当前Bean同类型的bean,则优先选择当前bean。当然如果有多个同类型的bean并且多个bean上都注释了@Primary,则会抛出异常。
/** * @author 戴着假发的程序员 * * @description */ @Component @Primary public class ArticleDAO_other implements IArticleDAO { @Override public int save(String title) { System.out.println("ArticleDAO_other-save->保存文章:"+title); return 1; } }