JAX-RS 2.0 的一个目标是整合 CDI 并@Context
用普通@Inject
注入替代旧的。但是,如果我查看JSR 339,则没有提到这一点。那么究竟什么是 CDI 集成?将 JAX-RS 与 CDI 一起使用而不是 Google Guice 会有什么优势吗?
问问题
718 次
1 回答
4
@Context
仍然是在 JAX-RS 2.0 中进行注入的官方方式。然而,规范确实声明了一个实现可以@Inject
同时使用@Context
(来自 JAX-RS 2.0 EDR 3 的第 10.2.5 节):
实现不得要求使用
@Inject
或@Resource
触发 JAX-RS 注释字段或属性的注入。实现可能支持这种用法,但应该警告用户关于不可移植性。
因此,不确定 JAX-RS 2.0 的所有实现是否都支持@Inject
,如果想要更改 JAX-RS 2.0 实现,可能会出现不兼容。
我做了一些研究,似乎 Jersey 2.0@Inject
至少得到了支持。
我想使用@Inject
而不是的优点@Context
是它与@Inject
JAX-RS Web 服务中的所有非 JAX-RS 资源更加一致。
于 2012-09-06T22:21:00.377 回答