Che cosa è il rapporto tra la primavera e javax.enterprise.inject?
-
24-10-2019 - |
Domanda
Stavo leggendo un articolo di Wikipedia su application server Java EE qui:
http://en.wikipedia.org/wiki/Java_Platform,_Enterprise_Edition#Java_EE_5_certified
Si dice che 2 API che Java App Servizi attuare siano:
javax.enterprise.inject
javax.enterprise.context
Si tratta sia riguardano contesto dell'applicazione e l'iniezione di dipendenza JSR-299. Non avevo mai sentito parlare di queste API prima. Ha Primavera implementare queste API? Sarebbe importa a nessuno se lo hanno fatto?
Soluzione
- JSR-330 definisce un insieme di annotazioni (
javax.inject
) che devono essere utilizzato in diversi contesti iniezione di dipendenza. La specifica è stata guidata da Rod Johnson (dalla primavera), e Bob Lea da (Google Guice) - (parzialmente) a causa della specifica conduttori, molla e supporto guice questo insieme di annotazioni
Questa è la parte di JavaEE che viene utilizzato da molla.
Lo stesso insieme viene utilizzato da JSR-299, che è guidato da Gavin King da JBoss. Tuttavia, JSR-299 (noto anche come CDI) utilizza javax.enterprise.inejct/context
ed è un quadro tutto nuova dipendenza-iniezione. Esso si basa su idee di primavera, Guice e cucitura, ma è specificato formalmente come JSR e mira a coprire molti casi d'angolo così come perfetta integrazione con le altre parti JavaEE.
JSR-299 definisce sia un'API e SPI in modo che le implementazioni calcestruzzo possono essere sviluppate. attuali implementazioni sono JBoss Weld , Apache OpenWebBeans e resina Candi .
Quindi, per rispondere alla tua domanda -. Non v'è alcuna relazione diretta tra javax.enterprise.inject
e la primavera
Altri suggerimenti
Spring fa il supporto JSR-330 di @Inject -. Può essere usato al posto di @Autowired (tranne che non ha una proprietà required
)
È inoltre necessario avere il vaso JSR 330 nel classpath.