我正在Java Spring后端中建立通用服务结构。我有带有以下签名的服务
public class GenericService<T, S extends ObjectService<T>> { ... }
在这项服务中,我会像这样自动装配S:
@Autowired
private S objectService;
我还有3个实现ObjectService接口的服务:
在另一个服务中,我想自动连接以下具体服务:
@Autowired
private GenericService<User, UserService> genericUserExportService;
@Autowired
private GenericService<Location, LocationService> genericLocationExportService;
@Autowired
private GenericService<Company, CompanyService> genericCompanyExportService;
尝试此操作,我将显示以下错误消息:
expected single matching bean but found 3
我已经找到了从GenericService为用户,位置和公司创建子类的解决方案,但是我不喜欢它,因为我需要生成许多空子类,例如:
public class GenericUserService extends GenericService<User, UserService> { ... }
我的问题有更好的解决方案吗?