본문 바로가기

SpringBoot101

Spring mvc async rest api /* 결제 내역 조회시 해당 결제 내역에 사용자 정보를 포함해야 한다. 사용자 정보 조회를 위해 결제아이디로 사용자 정보를 조회 후 결제 정보에 조인 시켜야 한다. 해당 프로세스를 비동기적으로 처리 하도록 한다. */ Enable Async and config thread pool @EnableAsync @Configuration public class BeanConfig { /** * @see https://kapentaz.github.io/spring/Spring-ThreadPoolTaskExecutor-%EC%84%A4%EC%A0%95/# */ @Bean("accounting-async-thread") public Executor asyncThread(){ ThreadPoolTaskExecutor .. 2021. 11. 7.
Spring mvc async rest api /* 결제 내역 조회시 해당 결제 내역에 사용자 정보를 포함해야 한다. 사용자 정보 조회를 위해 결제아이디로 사용자 정보를 조회 후 결제 정보에 조인 시켜야 한다. 해당 프로세스를 비동기적으로 처리 하도록 한다. */ Enable Async and config thread pool @EnableAsync @Configuration public class BeanConfig { /** * @see https://kapentaz.github.io/spring/Spring-ThreadPoolTaskExecutor-%EC%84%A4%EC%A0%95/# */ @Bean("accounting-async-thread") public Executor asyncThread(){ ThreadPoolTaskExecutor .. 2021. 11. 7.
java excell downloader in spring boot 1. dependency // xls 엑셀 파일 읽기 쓰기 implementation 'org.apache.poi:poi:4.1.2' // xlsx 엑셀 파일 읽기 쓰기 implementation 'org.apache.poi:poi-ooxml:4.1.2' 2. excell writer //column enum @Getter @AllArgsConstructor public enum ReconcileColumnType { PAYMENT_DATE("결제 일자", 0), CANCEL_DATE("취소 일자", 1), PG_REQUEST_KEY("결제 요청 번호", 2), USER_ID("사용자 아이디", 3), PAYMENT_STATUS("결제 상태", 4), PAYMENT_AMOUNT("결제(취소) 금액", 5.. 2021. 10. 31.
Java conver t JsonArray to List public static List jsonArrayToObjectList(String json, Class target) throws IOException { ObjectMapper mapper = new ObjectMapper(); CollectionType listType = mapper.getTypeFactory() .constructCollectionType(ArrayList.class, target); List ts = mapper.readValue(json, listType); log.debug("TargetClass: {}", ts.get(0).getClass().getName()); return ts; } //TargetClass class Target {} //sample json arr.. 2021. 10. 31.
LocalDateTime hour step //1. step 1 hour var formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"); LocalDateTime start = LocalDateTime.parse("2021-10-30 00:00:00", formatter), end = LocalDateTime.parse("2021-10-31 00:00:00",formatter); Stream.iterate(start, dt->dt.plusHours(1)) .limit(ChronoUnit.HOURS.between(start, end) + 1) .forEach(System.out::println); //2. step 1 hour var formatter = DateTimeFormatter.of.. 2021. 10. 31.
ModelMapper 를 사용하여 객체 컨버팅 하기 서로 다른 클래스의 값을 복사 해주는 라이브러리이며, 필드명 일치 혹은 유사 필드 , 값일 없는 필드 복사 스킵 등 을 쉽게 도와 주는 라이브러리이다. 사용을 위한 dependency org.modelmapper modelmapper 2.3.8 ​ 사용 방법 //A 클래스를 B 클래스로 컨버팅 예제 ModelMapper modelMapper = new ModelMapper(); //MatchingStrategies 는 여러가지가 존재하며 상황에 맞게 사용 하도록 한다. //여기서는 필드명 완전일치 할 경우에만 진행 하도록 한다. modelMapper.getConfiguration().setMatchingStrategy(MatchingStrategies.STRICT); B b = modelMapper.ma.. 2021. 5. 23.