본문 바로가기

SpringBoot101

usage spring data jpa with query dsl -- dependency com.querydsl querydsl-apt com.querydsl querydsl-jpa org.springframework.boot spring-boot-maven-plugin com.mysema.maven apt-maven-plugin 1.1.3 process target/generated-sources/java com.querydsl.apt.jpa.JPAAnnotationProcessor -- created databaseConfig.java @Configuration public class Databaseconfig { @Bean public JPAQueryFactory queryFactory(EntityManager em) { return new JPAQueryFac.. 2019. 7. 14.
Spring Batch (정리) 해당 글은 과 기타 를 참고하여 정리한 내용 입니다. Spring Boot Batch 장점 - 대용량 데이터 처리에 최적화 - 효과적인 통계처리와 같은 재사용 가능한 필수 기능 지원 - 자동화 처리 - 예외사항과 비정상 동작에 대한 방어 기능 Spring Boot Batch 주의 사항 - 복잡한 구조와 로직을 피할것 - 데이터 무결성을 유지하는 유효성 검사 등의 방어책 필요 - 잦은 I/O 사용 최소화를 위한 개발 필요 - Batch 처리시 다른 프로젝트에 영향을 주는지 확인 할것 - Spring boot batch 는 스케줄러를 제공 하지 않음 해결책: Quartz Framework, Jenkins 장점: Quartz 사용시 클러스터링 및 다양한 스케줄링, 실행 이력 관리가능 비추천: 리눅스의 cron.. 2019. 4. 6.
json array convert to object list in java spring 에서 resttemplate 요청시 응답받는 json array string 을 객체 리스트로 변환 하는 방법 2019. 1. 30.
Object List groupping and sorted by fields public class Country { // 출력 순서 private int display; // 국가 이름 private String name; }국가 리스트를 출력 순서를 우선으로 정렬 후 국가이름으로 정렬 하도록 한다. - display 가 동일한 그룹을 맵으로 만들도록 한다.- 키값에 해당하는 리스트를 이름순으로 정렬한다.public List sortedByDisplayAndName(List countryList){ Map map = new TreeMap(); for (Country m: countryList) { int key = m.getDisplay(); if(map.containsKey(key)){ List list = map.get(key); list.add(m); }else{ List.. 2019. 1. 9.
자바 - 시작_종료 시간 사이 체크 /** * 현재 시간이 시작,종료시간 사이에 있는지 체크 하도록 한다. * 현재 시간이 시작,종료 시간 사이일 경우 true 아닐 경우 false * @param start * @param end * @param now * @return */ private static boolean checkTimeBetween(LocalTime start, LocalTime end, LocalTime now) { if (start.isAfter(end)) { return !now.isBefore(start) || !now.isAfter(end); } else { return !now.isBefore(start) && !now.isAfter(end); } } 2018. 10. 8.
spring boot exception 처리를 위한 enum 클래스 활용 오류 발생시 json 형태의 커스텀한 객체를 던지고 싶다.예외처리시 오류 코드와 오류 메시지는 enum 클래스를 활용한다. 케이스별 예외에 대한 정의를 enum 으로 정의 한다. public enum ServiceError { BIND_ERROR(){ @Override public ResultError getResultError() { String message = getMessage(); return ResultError.builder() .httpStatus(HttpStatus.BAD_REQUEST) .resultCode("40000") .resultMessage(StringUtils.isEmpty(message) ? "Binding Error." : message) .build(); } }, EMA.. 2018. 9. 15.