본문 바로가기

Spring Boot5

Start Spring Data MongoDB - 5. Integration Test 테스트 코드의 중요성을 알아도 외부 인프라스트럭쳐와 연동해야하는 경우 테스트 자동화를 하기가 매우 까다로워진다. 다행히 Java 진영에서는 Testcontainers를 사용하면 통합 테스트 시 외부 인프라스트럭쳐를 손쉽게 구성할 수 있을 수 있다. 이번 포스팅에서는 Testcontainers의 MongoDB Module을 사용하여 통합 테스트 환경을 구축하고 통합 테스트 코드를 작성하는 방법에 대해 알아보도록 하겠다. (관련 코드는 여기에서 확인 가능하다) Testcontainers MongoDB Module dependency 추가 Testcontainers MongoDB Module은 MongoDB Transaction 테스트를 도와주기 위한 Module이다. 이를 통해 좀 더 쉽게 MongoDB T.. 2021. 9. 4.
Start Spring Data MongoDB - 4. Application 코드 작성 개발을 위한 MongoDB 설정과 Spring Data MongoDB 설정을 마쳤으니 본격적으로 Application 코드를 작성해보도록 하겠다. (컨텐츠에 대한 데이터를 저정하는 애플리케이션을 기반으로 코드를 작성하였다.) (관련 코드는 여기에서 확인 가능하다) BaseDocumentEntity 먼저 Entity id와 생성일자, 수정일자를 갖는 BaseDocumentEntity 기반 클래스를 생성해보자. import org.springframework.data.annotation.CreatedDate import org.springframework.data.annotation.Id import org.springframework.data.annotation.LastModifiedDate import .. 2021. 9. 4.
Start Spring Data MongoDB - 3. Spring Data MongoDB 설정 앞서 포스팅을 통해 MongoDB instance를 실행시키고 Transaction을 위한 Replica Set 설정을 마쳤다면, 이제 Spring Boot application과 MongoDB를 연동하기 위해 필요한 설정을 진행하도록 해보자. (관련 코드는 여기에서 확인 가능하다) application.yml 먼저 application.yml 설정을 하자. MongoDB에 접속할 수 있는 MongoDB instance 정보와 접속 설정을 위한 spring.data.mongodb.uri 와 Spring Data MongoDB의 debug log를 확인하기 위한 logging.level 설정을 추가한다. spring: data: mongodb: uri: mongodb://127.0.0.1:27017/pla.. 2021. 8. 30.
Start Spring Data MongoDB - 2. MongoDB Single node replica set 설정 MongoDB에서 Transaction을 사용하기 위해서는 Replica Set이나 Sharded Cluster를 사용해야한다. https://dba.stackexchange.com/questions/265236/how-can-we-use-transaction-in-mongodb-standalone-connection https://docs.mongodb.com/manual/core/retryable-writes/ 개발 시에 여러대에 MongoDB instance를 띄우고 Replica Set이나 Sharded Cluster를 구성하는 것은 불편하기 때문에 개발 시 단순 Transaction 처리를 위해서라면 하나의 MongoDB instance를 사용하여 Single node replica set을 구.. 2021. 8. 30.
Start Spring Data MongoDB - 1. 개요 및 프로젝트 생성 Spring Data Project는 Spring framework와 여러 data source를 쉽게 통합할 수 있는 방법을 제공한다. Spring Data Project 중 하나인 Spring Data MongoDB를 사용하면 쉽게 MongoDB와 통합이 가능하다. 이번 포스팅 시리즈에서는 Spring Boot(w/ Kotlin)와 MongoDB를 사용하여 간단한 애플리케이션을 만드는 과정을 살펴보도록 하겠다. (관련 코드는 여기에서 확인 가능하다) Project 생성 Spring Initializr를 통해 Spring Boot Application을 생성한다. Spring Web과 Spring Data MongoDB를 dependency로 추가한 뒤 프로젝트를 생성한다. 당장의 프로젝트 설정은 위와.. 2021. 8. 30.