Pregunta

Estaba leyendo un artículo de Wikipedia sobre los servidores de aplicaciones Java EE aquí:

http://en.wikipedia.org/wiki/java_platform,_enterprise_edition#java_ee_5_certified

Dice que 2 API que implementan los servicios de aplicaciones Java son:

javax.enterprise.inject
javax.enterprise.context

Estos se relacionan con el contexto de aplicación y la inyección de dependencia JSR-299. Nunca antes había oído hablar de estas API. ¿Spring implementa estas API? ¿Le importaría a alguien si lo hiciera?

¿Fue útil?

Solución

  • JSR-330 define un conjunto de anotaciones (javax.inject) que deben usarse en diferentes marcos de inyección de dependencia. La especificación fue dirigida por Rod Johnson (de Spring), y Bob Lea de (Google Guice)
  • (en parte) debido a los clientes potenciales de especificaciones, Spring y Guice admiten este conjunto de anotaciones

Esta es la parte de Javaee que usa la primavera.

El mismo conjunto es utilizado por JSR-299, dirigido por Gavin King de JBoss. Sin embargo, JSR-299 (también conocido como CDI) usa javax.enterprise.inejct/context y es un marco de inyección de dependencia completamente nuevo. Se basa en ideas de primavera, guice y costura, pero se especifica formalmente como un JSR y tiene como objetivo cubrir muchos casos de esquina, así como una integración suave con otras piezas de Javaee.

JSR-299 define una API y SPI para que se puedan desarrollar implementaciones concretas. Las implementaciones actuales son Soldadura jboss, Apache OpenWebbeans y Resina Candi.

Entonces, para responder a su pregunta, no hay relación directa entre javax.enterprise.inject y primavera.

Otros consejos

Spring admite JSR -330 @Inject: se puede usar en lugar de @aUtowired (excepto que no tiene un required propiedad).

También debes tener el jarras JSR 330 en el classpath.

http://static.springsource.org/spring/docs/3.0.x/springframework-reference/html/beans.html#beans-autowired-annotation

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top