В некоторых классах мапперов мне нужно использовать AutoMired ObjectMapper для преобразования String
в JsonNode
или verse-vera. Я могу достичь своей цели, используя полевую инъекцию с @autowired
. Но он не подходит для модульного тестирования, поэтому я хотел бы попробовать использовать инжектор конструктора.
Мой текущий рабочий код с инжекцией поля:
@Mapper(componentModel = "spring")
public class CustomMapper {
@autowired
ObjectMapper mapper;
}
Я пытаюсь преобразовать его в внедрение конструктора, чтобы я мог предоставить аргумент конструктора в своем модульном тесте:
@Mapper(componentModel = "spring")
public class CustomMapper {
ObjectMapper mapper;
public CustomMapper(ObjectMapper mapper) {
this.mapper = mapper;
}
}
Но я получаю ошибку Constructor in CustomMapper cannot be applied to the given type
во время компиляции. Как мне это исправить? Или есть другой лучший способ сопоставить String
с JsonNode
в Mapstruct?