10

作为 CDI 的新手,我想知道替代品和限定符之间的实际区别。

Weld reference中,它指出:

4.3. 限定符注释

如果我们有多个 bean 实现了特定的 bean 类型,则注入点可以使用限定符注解准确指定应该注入的 bean。

但是在解释替代方案时,据说:

4.7. 备择方案

替代方案是其实现特定于特定客户端模块或部署场景的 bean。

如果我理解正确,@Qualifier 定义了目标 bean 的哪些实现被注入到注入点。

另一方面,@Alternative 描述了部署期间的愿望,取决于客户端是否有标准的替代(我的意思是“@default”)bean 被注入到注入点。

这是正确的 ?

4

1 回答 1

3

是的,这是正确的。您可以将限定符想象为您在开发时设置的基本编织,在源代码中使用注释。

替代方案允许您在执行时使用beans.xml文件覆盖它 - 一个简单的部署工件。

一个典型的场景是beans.xml对不同的环境使用不同的,从而为您不想在本地/集成环境中执行的组件启用模拟替代方案。

于 2012-08-29T05:07:16.053 回答