В настоящее время у меня есть код, который выглядит следующим образом:
@Mapper
public interface UserMapper extends BasicMapper<User, UserDto> {
UserMapper INSTANCE = Mappers.getMapper(UserMapper.class);
}
и универсальный c интерфейс, который неудивительно выглядит так:
@Mapper
public interface BasicMapper<Entity, Dto extends AbstractDto> {
// This is something I'd like to have, but it doesn't work :(
// BasicMapper<Entity, Dto> INSTANCE = Mappers.getMapper(BasicMapper<Entity, Dto>.getClass());
// (Skipped ordinary methods...)
}
Это работает, но я пытаюсь в pu sh stati c переменная INSTANCE
в общий c BasicMapper
интерфейс. Возможно ли это или нет, как лучше обойтись? Я бы предпочел общий ответ c, который не зависит от Spring и аннотаций, но если это невозможно, я остановлюсь на лучшем обходном пути, который работает с String и аннотацией @Mapper
.