@Context仍然是 JAX-RS 2.0 中进行注入的官方方式。@Inject然而,该规范确实指出,实现可以同时使用@Context(来自 JAX-RS 2.0 EDR 3 的第 10.2.5 节):
\n\n\n实现不得要求使用
\n@Inject或@Resource触发 JAX-RS 注释的 \xef\xac\x81 字段或属性的注入。\n 实现可以支持此类用法,但应警告用户不可移植性。
因此,不确定 JAX-RS 2.0 的所有实现都支持@Inject,并且如果想要更改 JAX-RS 2.0 实现,可能会出现不兼容性。
我做了一些研究,看来 Jersey 2.0 至少得到了支持@Inject。
@Inject我想使用而不是的优点@Context是它与@InjectJAX-RS Web 服务中拥有的所有非 JAX-RS 资源更加一致。