Saltar al contenido

¿Para qué se supone que se usa la anotación javax.inject.Named?

Te recomendamos que pruebes esta resolución en un ambiente controlado antes de enviarlo a producción, saludos.

Solución:

Usar @Named a diferenciar entre diferentes objetos del mismo tipo enlazados en el mismo ámbito.

@Named("maxWaitTime")
public long maxWaitTimeMs;

@Named("minWaitTime")
public long minWaitTimeMs;

Sin el @Named calificador, el inyector no sabría qué largo vincular a qué variable.

  • Si desea crear anotaciones que actúen como @Namedutilizar el @Qualifier anotación al crearlos.

  • Si miras @Namedse anota con @Qualifier.

@Inject en lugar de primavera @Autowired para inyectar un frijol.
@Named en lugar de primavera @Component para declarar un frijol.

Aquellos JSR-330 las anotaciones estándar se escanean y recuperan de la misma manera que las anotaciones de Spring (siempre y cuando se cumplan las siguientes jar está en su classpath)

Con respecto al n. ° 2, según la especificación JSR-330:

Este paquete proporciona anotaciones de inyección de dependencia que permiten clases portátiles, pero deja la configuración de dependencia externa a la implementación del inyector.

Por lo tanto, depende del proveedor determinar qué objetos están disponibles para la inyección. En el caso de Spring, son todos frijoles Spring. Y cualquier clase anotada con anotaciones JSR-330 se agrega automáticamente como Spring beans cuando se usa un AnnotationConfigApplicationContext.

valoraciones y comentarios

Recuerda que tienes la capacidad de decir .

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *