public class TypeTranslator {
public static <F, T> Page<T> domainPageToDTOPage(Page<F> domainPage, String dtoClassName) throws ClassNotFoundException, IllegalAccessException, InstantiationException {
List<T> dtoList = new ArrayList<>();
Class dtoClass = Class.forName(dtoClassName);
for (F e : domainPage) {
Object dto = dtoClass.newInstance();
BeanUtils.copyProperties(e, dtoClass.cast(dto));
dtoList.add((T) dto);
}
return new CustomPageImpl<>(dtoList, domainPage.getPageable(), domainPage.getTotalElements());
}
}
'Spring&Spring Boot' 카테고리의 다른 글
(Spring AOP) AOP란? AOP 핵심 간단 정리 (0) | 2020.01.09 |
---|---|
(Spring Controller Logging) Spring에서 http request 로깅하기 - 1 (0) | 2020.01.06 |
(Spring)(Pageable) Page 객체의 구현체 PageImpl의 커스터 마이징 (0) | 2019.06.18 |
(Spring) Spring IOC , Spring DI (0) | 2019.04.08 |
(Spring Boot) 사용자 Class를 Bean 객체로 간단하게 설정하기 / Bean 객체 등록 (0) | 2018.10.31 |
댓글