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

前端之家收集整理的这篇文章主要介绍了java – 使用JAX-RS 2.0与CDI / Weld而不是Guice的优势?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

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 fields 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资源一致.

原文链接:/java/438127.html

猜你在找的Java相关文章