java ee cdi
在上下文和依赖注入(CDI)中, 限定符是类型安全和松散耦合的主体。 为什么? 没有CDI,我们将以类似于下面的方式注入Java EE组件
注意:这实际上不会编译,只是假设的代码片段
例子1
例子2
上述实现有什么问题?
- 不是安全类型 –使用String来指定实现类的完全限定名称(请参见示例1 )
- 将BasicCustomerPortal类与BasicService类紧密耦合 (请参见示例2 )
这正是CDI不这样做的原因!
资格赛助推
- 松散耦合 –显式类未在另一个类中引入。 相互分离实现
- 强类型(类型安全) –无需字符串文字即可定义注入属性/元数据
限定词还可以用作
- 在bean和装饰器之间绑定组件
- 观察者的事件选择器 (事件使用者)
简化了CDI限定词
简化步骤
- 创建一个限定词
- 将限定符应用于不同的实现类
- 结合使用Qualifiers和@Inject在类中注入适当实现的实例
这不是有关CDI限定词的详细或深入的帖子。 它更多是快速参考。
- 点击获取源代码
- 规格页面(CDI 1.2)
- 官方CDI页面
谢谢阅读!
翻译自: https://www.javacodegeeks.com/2014/04/java-ee-cdi-qualifiers-quick-peek.html
java ee cdi