-
[Spring] Spring Boot로 MongoDB Atlas 사용하는 법Server/Spring Boot 2021. 5. 23. 03:07728x90반응형
Spring Boot에서 MongoDB Atlas 사용하는 법
이번 글에서는
Spring Boot
로MongoDB
Atlas를 사용하는 법에 대해서 정리해보려 합니다. 먼저 https://www.mongodb.com/cloud/atlas1 MongoDB Atlas 사이트에 먼저 접속하겠습니다.MongoDB Atlas
를 사용하기 위해서는회원가입
을 먼저 해야 합니다.위에 자기의 정보에 맞게 입력 후에 회원가입을 하겠습니다.
저는 자바를 사용할 것이기 때문에 Java를 선택하고 다음을 누르겠습니다.
무료 버전을 사용할 것이기 때문에
FREE
를 선택하고 나머지는 기본 설정대로 두고 만들겠습니다.그리고 1~3분 정도 기다리면 클러스터가 하나 생성이 됩니다. 생성이 되었다면
Connect
를 눌러서 DB User 계정을 생성하겠습니다.그리고 위에서 유저 계정을 하나 만들겠습니다. 이것은 디비에 접속할 때 중요한 정보이기 때문에 본인이 잘 기억할 수 있고 안전하게 정해서 만드는 것을 추천드립니다.
그리고
Java
를 사용할 것이기 때문에 자바를 선택하고복사 버튼
을 누르겠습니다.(application.yml 에서 사용할 예정)mongodb+srv://<UserName>:<password>@<클러스터이름>.ergif.mongodb.net/<dbName>?retryWrites=true&w=majority
IP 등록하기
MongoDB Atlas는 네트워크 설정에 등록되어 있는 IP만 접근할 수 있습니다. 그래서 위와 같이 IP 주소를 등록하는 과정이 필요합니다.
위의 보이는 것처럼 클릭을 하면 본인이 사용하고 있는 IP가 자동으로 뜰 것입니다.
ADD IP Address
를 누르겠습니다.데이터베이스 생성
본인이 사용할 데이터베이스, 컬렉션 이름을 정하고 생성을 누르겠습니다.
Spring Boot 간단한 예제
현재 제가 만든 프로젝트의 구조는 위와 같습니다. 먼저
MongoDB 의존성
을 추가하겠습니다.build.gradle
implementation 'org.springframework.boot:spring-boot-starter-data-mongodb'
그리고
application.yml
에 DB 설정을 하겠습니다.application.yml
spring: data: mongodb: uri: mongodb+srv://<유저이름>:<비밀번호>@<클러스터이름>.ergif.mongodb.net/<데이터베이스이름>?retryWrites=true&w=majority
uri에 위에서 만든
유저이름
,비밀번호
,클러스터이름
,데이터베이스이름
을 자신의 정보에 맞게 넣어주면 됩니다.Document
@AllArgsConstructor @Getter @Document("alarm_log") public class AlarmLog { @Id private Long id; private String title; private String message; }
그리고 위에서 만든
컬렉션
과 해당 클래스가 매칭되도록 간단하게 만들었습니다. 이것을 가지고MongoDB Atlas
에 INSERT를 할 것입니다.Service
@RequiredArgsConstructor @Service public class UserService { private final MongoTemplate mongoTemplate; public void mongoInsert() { AlarmLog alarmLog = new AlarmLog(1L, "제목", "메세지"); mongoTemplate.insert(alarmLog); } }
그리고
MongoTemplate
를 사용해서AlarmLog
클래스를 INSERT 하는 아주 간단한 코드를 작성했습니다. 실제로 위의 코드를 실행하면 아래와 같이 잘 INSERT 되는 것도 확인할 수 있습니다.자세한 코드가 궁금하다면 Github 에서 확인할 수 있습니다.
에러 정리
접속하다가 위와 같은 에러를 만난다면
atlas
에서IP 주소
를 등록하지 않아서 그렇습니다.위와 같이 네트워크 설정에서 IP 등록이 되어 있어야 합니다.
반응형'Server > Spring Boot' 카테고리의 다른 글
[Spring] Spring Security와 Swagger 같이 사용하는 법 (0) 2021.06.27 [Spring] yml 파일 dev, prod, local 환경으로 간단하게 분리하기 (0) 2021.06.16 [Spring] Spring Boot AWS S3 사진 업로드 하는 법 (17) 2021.05.03 [Spring Boot] AWS S3를 이용하여 파일 업로드 (2) 2020.09.08 [Spring Boot] 스프링부트에서 JSP 사용하는 법 (2) 2020.08.18