의존성 추가
dependencies {
implementation 'org.springframework.boot:spring-boot-starter-data-mongodb'
}
Groovy
복사
접속 정보 세팅
application.yml에 mongodb connection을 위한 설정 값들을 세팅한다. mongoDB의 기본 Connection String Format은 mongodb://[username:password@]host1[:port1][,...hostN[:portN]][/[defaultauthdb][?options]] 이다. 깨끗한 맥북 환경을 유지하고자.. 도커에 올려서 테스트할 것이기에, 아래와같이 connectionString을 설정한다.
도커는 아래 명령어로 컨테이너를 실행했다. 이미지는 LTS인 6.0 사용
docker run -d --name mongodb -p 27017:27017 -e MONGO_INITDB_ROOT_USERNAME=[계정명] -e MONGO_INITDB_ROOT_PASSWORD=[비밀번호] mongo:6.0
PowerShell
복사
spring:
data:
mongodb:
uri: mongodb://[계정명]:[비밀번호]@localhost:27017/health-monitoring?authSource=admin
YAML
복사
docker exec 명령어로 들어가서 내부 db 상태를 확인
이제 커스텀을 위해 mongoDBConfig를 만들어 mongoDatabaseFactory와 mongoTemplate 빈을 생성해준다.
import org.springframework.beans.factory.annotation.Value;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.data.mongodb.MongoDatabaseFactory;
import org.springframework.data.mongodb.core.MongoTemplate;
import org.springframework.data.mongodb.core.SimpleMongoClientDatabaseFactory;
@Configuration
public class MongoDBConfig {
@Value("${spring.data.mongodb.uri}")
private String connectionString;
// MongoDB 연결 객체(MongoClient)를 관리
@Bean
public MongoDatabaseFactory mongoDatabaseFactory() {
// 내부적으로 MongoClient를 생성해서 MongoDB와 연결
return new SimpleMongoClientDatabaseFactory(connectionString);
}
// CRUD 작업을 위한 MongoTemplate 등록
@Bean
public MongoTemplate mongoTemplate() {
return new MongoTemplate(mongoDatabaseFactory());
}
}
Java
복사