2012-07-04 10 views

risposta

4

@Context è ancora il modo ufficiale di eseguire l'iniezione in JAX-RS 2.0. La specifica ha tuttavia affermare che un'implementazione può avvalersi di @Inject fianco @Context (dalla sezione 10.2.5 di JAX-RS 2.0 EDR 3):

implementazioni non deve richiedere l'uso di @Inject o @Resource a iniezione grilletto Campi o proprietà annotati JAX-RS. Le implementazioni POSSONO supportare tale utilizzo ma DOVREBBE avvertire gli utenti della non-portabilità .

quindi non è certo che tutte le implementazioni di JAX-RS 2.0 supporta @Inject, e di incompatibilità potrebbe sorgere se si vuole cambiare JAX-RS 2.0 implementazione.

Ho fatto una piccola ricerca e sembra che il Jersey 2.0 abbia appena ottenuto il supporto per lo @Inject almeno.

Immagino che il vantaggio nell'uso di @Inject invece di @Context sia che è più coerente a fianco di tutte le @Inject di risorse non JAX-RS che si avrebbero in un servizio web JAX-RS.