Tengo varios servicios que implementan una interfaz común y deseo poder elegir uno de ellos para inyectar en otros servicios cuando se inicia mi aplicación.¿Cómo seleccionar una implementación de servicio en una aplicación Grails?
He intentado hacer referencia a la implementación del servicio desde resources.groovy como se muestra a continuación, pero luego Spring hace una nueva instancia del servicio seleccionado y no conecta automáticamente sus dependencias.
¿Cómo puedo conseguir que esta solución funcione? ¿O hay otra manera?
class MyService {
Repository repository
interface Repository {
void save(...)
}
}
class MySqlRepositoryService implements MyService.Repository { ... }
class FileRepositoryService implements MyService.Repository { ... }
resources.groovy:
beans = {
...
repository(FileRepositoryService) { }
}
Así que, esencialmente mis repositorios serán los granos de primavera normales y no los servicios de Grails . Eso funcionará muy bien. ¡Gracias! –