У меня есть несколько служб, реализующих общий интерфейс, и я хочу иметь возможность выбрать одну из них для внедрения в другие службы при запуске моего приложения.
Я попытался сослаться на реализацию сервиса из resources.groovy, как показано ниже, но тогда Spring создает новый экземпляр выбранного сервиса и не связывает его зависимости автоматически.
Как заставить это решение работать? Или есть другой способ?
class MyService {
Repository repository
interface Repository {
void save(...)
}
}
class MySqlRepositoryService implements MyService.Repository { ... }
class FileRepositoryService implements MyService.Repository { ... }
resources.groovy:
beans = {
...
repository(FileRepositoryService) { }
}