在学习@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{ }