我有几个服务实现了一个通用接口,我希望能够在我的应用程序启动时选择其中一个来注入其他服务。
我已经尝试从 resources.groovy 引用服务实现,如下所示,但是 Spring 创建了所选服务的新实例并且不会自动装配其依赖项。
我怎样才能让这个解决方案发挥作用?还是有其他方法?
class MyService {
Repository repository
interface Repository {
void save(...)
}
}
class MySqlRepositoryService implements MyService.Repository { ... }
class FileRepositoryService implements MyService.Repository { ... }
资源.groovy:
beans = {
...
repository(FileRepositoryService) { }
}