【问题标题】:CDI : @alternative vs @QualifiersCDI:@alternative 与 @Qualifiers
【发布时间】:2012-08-23 09:31:07
【问题描述】:

作为 CDI 的新手,我想知道替代品和替代品之间的实际区别 预选赛。

Weld reference 中声明:

4.3。限定符注释

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

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

4.7。替代品

Alternatives 是特定于 特定的客户端模块或部署方案。

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

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

对吗?

【问题讨论】:

    标签: java dependency-injection cdi


    【解决方案1】:

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

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2020-12-18
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-06-10
      • 1970-01-01
      相关资源
      最近更新 更多