Я использую ModelMapper для прямого сопоставления объектов.
ModelMapper mapper = new ModelMapper();
// TypeMap created
mapper.map(sourceObj, destObj);
mapper = new ModelMapper();
// TypeMap is recreated
mapper.map(sourceObj, destObj);
Я заметил в исходном коде, что если TypeMap
не существует между sourceObj
и destObj
, он будет кэшировать метод TypeMap
в getOrCreate
.
Насколько я могу судить, этот кеш привязан к экземпляру преобразователя, а это означает, что если мне нужно сопоставить sourceObj
с destObj
во второй раз, используя новый экземпляр ModelMapper, ему придется заново создать TypeMap
.
Я предполагаю, что это довольно дорогая операция, скажем, если я сопоставляю коллекцию sourceObj
с destObj
. Это приводит меня к выводу, что я должен повторно использовать экземпляр ModelMapper.
Верен ли этот вывод?
Благодарность