본문 바로가기

웹 어플리케이션 공부/Spring 공부

MongoDB 와 Spring 연동설정

반응형

MongoDB Download(MacOS)

다운로드참조페이지
위를 참조하여 mongoDB 다운로드 이후, mongod 실행시켜준다.

test계정생성
위를 참조하여 테스트할 계정 및 데이터베이스와 콜렉션을 생성해준다.

pom.xml 수정

몽고디비와의 연결을 위해서는 라이브러리를 사용해야 한다. 기본적으로 아래의 두 개의 라이브러리 설정을 해준다.

<dependency>
    	<groupId>org.mongodb</groupId>
    	<artifactId>mongo-java-driver</artifactId>
    	<version>3.2.2</version>
    </dependency>
    <!-- https://mvnrepository.com/artifact/org.springframework.data/spring-data-mongodb -->
	<dependency>
	    <groupId>org.springframework.data</groupId>
	    <artifactId>spring-data-mongodb</artifactId>
	    <version>2.2.6.RELEASE</version>
	</dependency>

 

context.xml

2개의 라이브러리를 추가한뒤에 설정파일을 추가하여 준다.
필자는 resources에 context-mongo.xml로 저장하였다.
credentials라는 부분에는 "사용자아이디:비밀번호@컬렉션이름" 형식으로 입력한다.

 

<mongo:mongo-client
    host="host_ip"
    port="port_num" credentials="mongo_user:password@collection_name" >
    <mongo:client-options
        connections-per-host="8"
        threads-allowed-to-block-for-connection-multiplier="4"
        connect-timeout="1000"
        max-wait-time="1500"
        socket-keep-alive="false"
        socket-timeout="1500"
    />
</mongo:mongo-client>

<bean id="mongoTemplate" class="org.springframework.data.mongodb.core.MongoTemplate">
    <constructor-arg ref="mongo" />
    <constructor-arg name="database_name" value="collection_name" />
</bean>

web.xml 설정

해당 파일이 스프링이 로드되면서 읽혀지도록 web.xml에 추가하여준다.

contextConfigLocation classpath*:context-mongo.xml

여기까지 설정 이후 서버 실행시 아무런 문제가 없는지 확인한다.

 

(base) ibohyeon-ui-MacBookPro:data ibohyeon$ tail -100f mongod.log

2020-05-06T00:02:41.850+0900 I CONTROL  [initandlisten] MongoDB starting : pid=8777 port=27017 dbpath=data/db 64-bit host=ibohyeon-ui-MacBookPro.local

2020-05-06T00:02:41.850+0900 I CONTROL  [initandlisten] db version v3.2.22

2020-05-06T00:02:41.850+0900 I CONTROL  [initandlisten] git version: 105acca

 

$ sudo vi /etc/hosts

(base) ibohyeon-ui-MacBookPro:mongodb ibohyeon$ cat /etc/hosts

##

# Host Database

#

# localhost is used to configure the loopback interface

# when the system is booting.  Do not change this entry.

##

127.0.0.1 localhost

255.255.255.255 broadcasthost

::1             localhost

127.0.0.1 ibohyeon-ui-MacBookPro.local

# Added by Docker Desktop

# To allow the same kube context to work on the host and the container:

127.0.0.1 kubernetes.docker.internal

# End of section

 

참조

 

스프링(전자정부), 몽고DB와의 연동 (몽고DB 터널링, Mongodb Ternering, Mongodb ssh)

스프링에서 몽고db를 연동하는 방법을 찾아보면, 스프링 boot랑 관련된 내용은 꽤 많이 나오는데..스프링과 관련된 내용은 그다지 많지 않는 것 같다. 몽고db와의 연동은 하이버네이트를 사용해 ��

lts0606.tistory.com

 

 

 

반응형

'웹 어플리케이션 공부 > Spring 공부' 카테고리의 다른 글

스프링 필터  (0) 2022.01.23
Spring으로 개발하며 맞닥뜨린 CORS!  (1) 2021.12.08
Spring 공부 - 초기 설정  (0) 2019.08.16