加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Java > 正文

java – 使用JAX-RS 2.0与CDI / Weld而不是Guice的优势?

发布时间:2020-12-14 19:20:12 所属栏目:Java 来源:网络整理
导读:JAX-RS 2.0的一个目标是整合CDI并用常见的@Inject注入替换旧的@Context.但如果我看一下JSR 339,就没有提到.那么CDI整合究竟是什么呢?将JAX-RS与CDI而不是Google Guice一起使用是否有任何优势? 最佳答案 @Context仍然是在JAX-RS 2.0中进行注入的官方方式.但

JAX-RS 2.0的一个目标是整合CDI并用常见的@Inject注入替换旧的@Context.但如果我看一下JSR 339,就没有提到.那么CDI整合究竟是什么呢?将JAX-RS与CDI而不是Google Guice一起使用是否有任何优势?

最佳答案
@Context仍然是在JAX-RS 2.0中进行注入的官方方式.但是规范确实说明一个实现可以在@Conject和@Context(来自JAX-RS 2.0 EDR 3的第10.2.5节)之间使用@Inject:

Implementations MUST NOT require use of @Inject or @Resource to
trigger injection of JAX-RS annotated ?elds or properties.
Implementations MAY support such usage but SHOULD warn users about
non-portability.

因此,不确定JAX-RS 2.0的所有实现是否支持@Inject,并且如果想要更改JAX-RS 2.0实现,则可能会出现不兼容性.

我做了一点研究,看来Jersey 2.0至少得到了@Inject的支持.

我想使用@Inject而不是@Context的优势在于,它与JAX-RS Web服务中的所有@Inject的非JAX-RS资源一致.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读