2012-07-04 24 views

回答

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的實現可能出現不兼容。

我做了一點研究,看來澤西島2.0至少得到了@Inject的支持。

我猜測使用@Inject而不是@Context的好處在於,它與JAX-RS網絡服務中的非JAX-RS資源的所有@Inject一致性更好。

相關問題