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 }

 

posted @ 2020-10-09 08:11  戴着假发的程序员0-1  阅读(172)  评论(0编辑  收藏  举报