Spring注释@Qualifier

来源:互联网 发布:球球大作战最新源码 编辑:程序博客网 时间:2024/05/20 22:30
在学习@Autowired的时候我们已经接触到了@Qualifier,
这节就来详细学习一下自定义@Qualifier
例如定义一个交通工具类:Vehicle以及它的子类Bus和Sedan。
如果用@Autowired来找Vehicle的话,会有两个匹配的选项Bus和Sedan。为了限定选项,可以象下面这样。
  @Autowired  @Qualifier("car")  private Vehicle vehicle;
如果要频繁使用@Qualifier("car")并且想让它变得更有意义,我们可以自定义一个@Qualifier。
  @Target({ElementType.FIELD, ElementType.PARAMETER, ElementType.TYPE})  @Retention(RetentionPolicy.RUNTIME)  @Qualifier  public @interface Car{  }  @Autowired  @Car  private Vehicle vehicle;
最后在Sedan类加上注释。
  @Car  public class Sedan implements Vehicle{  }
http://blog.sina.com.cn/s/blog_d4635afb0101h0wi.html