Spring JDBC Bulk Insert 알아보기
·
Back-end/Spring
들어가기 프로젝트 진행 중 20만 건 이상의 데이터 Row를 데이터베이스에 Insert해야 했다. JPA saveAll() 방식을 사용했을 때 저장 속도가 느려서 성능 향상이 필요하다고 느꼈고 JDBC Bulk Insert로 저장 속도를 향상시킬 수 있었다. JPA saveAll() 아래의 코드는 JPA saveAll() 코드로, while 문 안의 두 번째 라인에서 엔티티를 하나씩 save하도록 구현되어 있다. @Transactionalpublic List saveAll(Iterable entities) { Assert.notNull(entities, "Entities must not be null"); List result = new ArrayList(); Iterator var4 ..
@RequestBody, @ResponseBody에 대해서
·
Back-end/Spring
들어가기 Spring에서 비동기 통신을 위해 주로 Controller에서 사용하는 어노테이션 @RequestBody, @ResponseBody에 대해서 알아보자. @RequestBody클라이언트가 서버로 보내는 JSON 형식의 HTTP Body를 자바 객체로 변환하는 역할을 한다.@Getter@NoArgsConstructor@AllArgsConstructorpublic class AddArticleRequest { private String title; private String content;}@RestController@RequiredArgsConstructorpublic class BlogApiController { private final BlogService blogService..
HTTP Status Code, ResponseEntity에 대해서
·
Back-end/Spring
들어가기 HTTP 응답을 제어할 수 있는 ResponseEntity 객체에 대해서 알아보자. ResponseEntity ResponseEntity는 HttpEntity를 상속하여 구현되어 있다. HttpEntity의 구현 필드를 살펴보자.public class HttpEntity { public static final HttpEntity EMPTY = new HttpEntity(); private final HttpHeaders headers; @Nullable private final T body; ...}  HttpEntity는 HttpHeader를 설정할 수 있는 필드와, 제네릭 타입으로 Body 필드를 가지고 있다. 다음으로 이를 상속하는 ResponseE..
@NoArgsConstructor, @AllArgsConstructor, @RequiredArgsConstructor에 대해서
·
Back-end/Spring
들어가기 Lombok 라이브러리의 어노테이션 @AllArgsConstructor, @NoArgsConstructor, @RequiredArgsConstructor에 대해서 알아보자. @NoArgsConstructor @NoArgsConstructor는 파라미터가 없는 디폴트 생성자를 자동으로 만들어주는 어노테이션이다.@NoArgsConstructorpublic class Dog { private String name; private int age; // Omitted Getter & Setter}public class Dog { private String name; private int age; // Omitted Getter & Setter public D..
API, REST API, RESTful API에 대해서
·
Back-end
들어가기 REST API 정의, 특징, 장점과 단점, 사용 규칙에 대해서 알아보자. REST API를 설명하기 앞서 API에 대해서 먼저 알아본다. API API는 Application Programming Interface의 축약형으로 애플리케이션에서 사용할 수 있도록 운영 체제나 프로그래밍 언어가 제공하는 기능을 제어할 수 있게 만든 인터페이스를 말한다. \ 클라이언트의 요청을 서버에 전달하고, 서버의 결과물을 클라이언트에게 돌려주는 역할을 한다. REST, REST API, RESTful API REST는 Representational State Transfer의 축약형으로 자원을 이름으로 구분해 자원의 상태를 주고받는 것을 말한다. REST의 특징으로는 인터페이스 일관성, 무상태, 캐시 처리 가능..