-
[Spring] Spring Boot로 MongoDB Atlas 사용하는 법Server/Spring Boot 2021. 5. 23. 03:07728x90반응형
Spring Boot에서 MongoDB Atlas 사용하는 법이번 글에서는
Spring Boot로MongoDBAtlas를 사용하는 법에 대해서 정리해보려 합니다. 먼저 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=majorityIP 등록하기
MongoDB Atlas는 네트워크 설정에 등록되어 있는 IP만 접근할 수 있습니다. 그래서 위와 같이 IP 주소를 등록하는 과정이 필요합니다.

위의 보이는 것처럼 클릭을 하면 본인이 사용하고 있는 IP가 자동으로 뜰 것입니다.
ADD IP Address를 누르겠습니다.데이터베이스 생성


본인이 사용할 데이터베이스, 컬렉션 이름을 정하고 생성을 누르겠습니다.
Spring Boot 간단한 예제
현재 제가 만든 프로젝트의 구조는 위와 같습니다. 먼저
MongoDB 의존성을 추가하겠습니다.build.gradleimplementation 'org.springframework.boot:spring-boot-starter-data-mongodb'그리고
application.yml에 DB 설정을 하겠습니다.application.ymlspring: data: mongodb: uri: mongodb+srv://<유저이름>:<비밀번호>@<클러스터이름>.ergif.mongodb.net/<데이터베이스이름>?retryWrites=true&w=majorityuri에 위에서 만든
유저이름,비밀번호,클러스터이름,데이터베이스이름을 자신의 정보에 맞게 넣어주면 됩니다.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