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
@Named
utilizar el@Qualifier
anotación al crearlos. -
Si miras
@Named
se 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 .