개발 공부

[mongoDB] spring framework에서 mongoDB사용하기

Summer_berry 2021. 4. 19. 13:28

java에서 수정

 

1. pom.xml 에 dependency 추가

		<!-- mongoDB -->
		<!-- https://mvnrepository.com/artifact/org.mongodb/mongo-java-driver -->
		<dependency>
		    <groupId>org.mongodb</groupId>
		    <artifactId>mongo-java-driver</artifactId>
		    <version>3.12.7</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.1.1.RELEASE</version>
		</dependency>

2. root-context.xml 설정하기

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
	xmlns:mongo="http://www.springframework.org/schema/data/mongo"
	xmlns:tx="http://www.springframework.org/schema/tx"
	xsi:schemaLocation="http://www.springframework.org/schema/beans https://www.springframework.org/schema/beans/spring-beans.xsd
	http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-3.0.xsd
	http://www.springframework.org/schema/data/mongo http://www.springframework.org/schema/data/mongo/spring-mongo-1.8.xsd
	">
    
    
	 <!-- mongo -->
    <mongo:mongo-client
        host="주소"
        port="포트" credentials="사용자아이디:비밀번호@컬렉션이름" >
        <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="databaseName" value="컬렉션 이름" />
    </bean>
     <!-- mongo -->
     
     
  	 	
</beans>

 

3.web.xml 수정

<context-param>
		<param-name>contextConfigLocation</param-name>
		<param-value>
			classpath:spring/root-context.xml
			classpath:spring/spring-security.xml
		</param-value>
	</context-param>

 

 

4.mongodb root 계정 생성

cmd 창에서 mongo db 접속하여 계정 생성하기

>mongo

>use admin;
switched to db admin
> db;
admin
> db.createUser({user: "id", pwd: "pw", roles:["root"]});
Successfully added user: { "user" : "id", "roles" : [ "root" ] }
> exit;

 

5. mongodb config 변경

메모장을 관리자 권한으로 실행하기

메모장에서 mongod.cfg 파일 열기

아래 부분 수정하기

(외부접속 , 인증된 사용자만 사용가능 하게)

net:
  port: 27017
  bindIp: 0.0.0.0
  
 security:
  authorization: 'enabled'

 

 

6. mongo 다시시작

cmd창을 관리자 권한으로 실행하여 mongo db 재시작하기

>net stop mongodb
>net start mongodb