CDI 2.0是Java EE平台的上下文和依赖项注入的下一个版本,并且是Java EE 8中包含的候选对象。 自2014年9月以来,它一直在开发中,并且发展Swift!
CDI 2.0的主要目标
- 与Java SE 8对齐(当然!)
- 支持Java SE –标准化Java SE的依赖注入API。 各个CDI实现(Weld等)确实支持Java SE,但是需要使用特定于供应商的方式来使用它们。 希望可以解决此问题,我们将拥有一个用于在Java SE和EE上使用CDI的标准API!
- CDI模块化 –将CDI拆分为易于管理的模块,从维护以及采用/实施的角度使事情变得更容易
- 增强的事件 –一项主要增强功能是引入了异步事件 ,该事件到目前为止还没有出现(CDI 1.2)。
- 其他功能 – AOP(拦截器和装饰器)和SPI相关的增强功能
现在还很早,到目前为止还没有什么可以确定的。 事情正在发展,并将继续如此。 可以在官方CDI规范页面上访问所有最新更新。
开放有序的工作作风
不得不说,从Java EE观察者的角度来看,CDI规范团队以非常结构化而开放的方式开展工作的方式给我留下了特别深刻的印象。
- 与规范相关的所有工作已分为高级主题(如上所述)
- 每个车间都有一个对应的车间。
- 每个研讨会(或工作项)都有一份文档草案,其中描述了相关的思想,建议和相关的细节。 最好的部分是社区可以阅读,响应和协作!
有关CDI规范的工作团队的口头禅更多细节可以在这里和个人的工作流的最新详细信息可在CDI规格主页 ( 向下滚动到页面的底部 )。
注意 : 可以在此处访问一些特定于异步事件功能的讨论 。
前沿技术– JBoss Weld 3
你们中许多人可能已经知道, JBoss Weld是CDI规范的参考实现。 好消息是Weld 3 Alpha3已经存在,并且包含CDI 2.0中提出的一些功能!
总而言之,Weld 3支持的一些与CDI 2.0相关的功能是:
- 支持异步事件–现在您可以使用fireAsync(yourPayloadObject)并立即返回调用。
- 利用Java SE 8功能–您现在可以在限定词和拦截器绑定上使用可重复的注释
- 使用@Priority 优先观察者方法
有关更多详细信息,请查看此出色的文章 。
您可以在Weldfly 8.2上浏览 Weld 3。 只需按照Arun Gupta在其博客上发布的这些说明进行操作即可。
享受生活在最前沿的乐趣!
干杯!
翻译自: https://www.javacodegeeks.com/2014/12/updates-on-cdi-2-0.html