Digamos que necesito confiar en varias implementaciones de un Spring Bean. Tengo una interfaz AccountService
y dos implementaciones: DefaultAccountServiceImpl
y SpecializedAccountServiceImpl
.Manejo de varias implementaciones de un Spring Bean/interfaz
¿Cómo es posible (inyectar una u otra implementación) en Spring?
¿Qué implementación usará la siguiente inyección?
@Autowired private AccountService accountService;
Tomasz: Yo entiendo que tengo que usar '@Qualifier ("especializado")' para especificar la aplicación que se va a inyectar. Entonces, si defino mi servicio usando java (en lugar de xml), ¿cómo especifico qué calificador tiene? ¿Esto hará: '@Service (" especializado ")'? – balteo
@balteo: sí. Asigne el nombre del servicio manualmente en la anotación '@ Service' o tome el nombre de clase simple con el primer carácter con mayúsculas y minúsculas:' @Qualifier ("specializedAccountServiceImpl") '. –