Estoy tratando de comprender el paquete javax.inject
y no tengo claro para qué se debe usar la anotación javax.inject.Named
. El Javadoc no explica la idea detrás de esto.¿Para qué se supone que se utiliza la anotación javax.inject.Named?
Javadoc está en http://download.oracle.com/javaee/6/api/javax/inject/Named.html
estoy usando Spring 3.0 escribir algunos programas de ejemplo, poniendo @Named
en un grano de lo que parece a añadirlo a la fábrica de beans pero la descripción Javadoc es tan ligero que puede' d decir si ese es el comportamiento estándar o el comportamiento específico de Spring.
Mis preguntas son:
- ¿Cuál es la diferencia entre
@Named
y@Qualifier
- ¿Cómo se supone para indicar al sistema de tiempo de ejecución de una clase debe ser inyectable en otras clases cuál es la anotación para que? El equivalente de
@Component
en primavera?
Actualización 1 hay una excelente explicación de @Named
y @Qualifier
en Niza artículo sobre @Named
y @Qualifier
http://java.dzone.com/articles/java-ee6-cdi-named-components gracias @xmedeko para vincular a ella el comentario más abajo.
La configuración de JSR-330 está fuera de la especificación, es decir, específica del contenedor. –
De acuerdo con los documentos de Spring "la anotación @Named de JSR 330 se puede utilizar como un medio para detectar componentes y proporcionarles un nombre. Este comportamiento se activa automáticamente si tiene JAR de JSR 330 en el classpath". ¿Es este comportamiento único para la primavera o para todos los contenedores que entienden a @Named? – ams