Java EE CDI限定词:快速浏览

在上下文和依赖注入(CDI)中, 限定符类型安全松散耦合的主体。 为什么? 没有CDI,我们将以类似于下面的方式注入Java EE组件

注意:这实际上不会编译,只是假设的代码片段





例子1

Java EE CDI限定词:快速浏览

例子2

Java EE CDI限定词:快速浏览

上述实现有什么问题?

  • 不是安全类型 –使用String来指定实现类的完全限定名称(请参见示例1
  • 将BasicCustomerPortal类与BasicService类紧密耦合 (请参见示例2

这正是CDI不这样做的原因!

资格赛助推

  • 松耦合 –另一个类中未引入显式类。 相互分离实现
  • 强类型(类型安全) –无需字符串文字即可定义注入属性/元数据

限定词还可以用作

  • 在bean和装饰器之间绑定组件
  • 观察者的事件选择器 (事件使用者)

简化了CDI限定词

Java EE CDI限定词:快速浏览

简化步骤

  • 创建一个限定词
  • 将限定符应用于不同的实现类
  • 结合使用Qualifiers和@Inject在类中注入适当实现的实例

这不是有关CDI限定词的详细或深入的帖子。 它更多是快速参考。

谢谢阅读!

翻译自: https://www.javacodegeeks.com/2014/04/java-ee-cdi-qualifiers-quick-peek.html