spring应用手册-IOC(注解实现)-(16)-@Primary

    科技2025-04-22  14

    戴着假发的程序员出品 抖音ID:戴着假发的程序员 欢迎关注

    @Primary

    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; } }
    Processed: 0.010, SQL: 8