Spring框架参考手册(4.2.6版本)翻译——第三部分 核心技术 6.10.8 提供带注解的限定符元数据

6.1.1 提供带注解的限定符元数据

6.9.4节“使用@Qualifier微调基于注解的自动装配”中讨论了@Qualifier注解。该部分中的示例阐释了,在解析自动装配候选者的时候,使用@Qualifier注解和自定义限定符注解来提供细粒度的控制。因为这些是基于XML bean的定义的例子,所以为了在候选bean定义上提供限定符元数据,需要通过在XML中使用bean元素的qualifiermeta子元素。当依赖类路径扫描来自动检测组件时,您可以在候选类上为限定符元数据提供类型级别的注解。以下三个示例阐释了此技术:

@Component
@Qualifier("Action")
public class ActionMovieCatalog implements MovieCatalog {
    // ...
}
@Component
@Genre("Action")
public class ActionMovieCatalog implements MovieCatalog {
    // ...
}
@Component
@Offline
public class CachingMovieCatalog implements MovieCatalog {
    // ...
}

与大多数基于注的备选方案一样,请记住元数据绑定到类定义本身,而XML的使用允许多个相同类型的bean在其限定符元数据中提供变体,这是因为元数据是提供给每个实例而不是每个类的。

posted @ 2019-03-03 23:33  编程老司机A  阅读(160)  评论(0编辑  收藏  举报