336x280(권장), 300x250(권장), 250x250, 200x200 크기의 광고 코드만 넣을 수 있습니다.
Spring-Data-MongoDB 연동 설정
MongoDB를 Spring과 연동시키는 방법에 대해 알아본다
Spring Tool Suite를 이용하며 Dynamic Web Project를 생성해서 진행한다
@ Dependency 추가
우선 pom.xml에서 필요한 Dependencies를 추가해준다
*Dependency Source
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
|
<dependencies>
<!-- MongoDB Dependencies -->
<dependency>
<groupId>org.mongodb</groupId>
<artifactId>mongo-java-driver</artifactId>
<version>3.2.2</version>
</dependency>
<dependency>
<groupId>org.springframework.data</groupId>
<artifactId>spring-data-mongodb</artifactId>
<version>1.9.1.RELEASE</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-webmvc</artifactId>
<version>4.2.6.RELEASE</version>
</dependency>
<dependency>
<groupId>taglibs</groupId>
<artifactId>standard</artifactId>
<version>1.1.2</version>
</dependency>
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>jstl</artifactId>
<version>1.2</version>
</dependency>
</dependencies>
|
cs |
그런 후 src/main/java에서 mongo.test 패키지를 생성한다
@ web.xml
web.xml에서 springDispatcherServlet을 생성하고 기존 Spring 세팅과 동일하게 진행한다
또한 추가적으로 EncodingFilter를 추가해준다
1
2
3
4
5
6
7
8
9
10
11
12
13
14
|
<!-- Encoding Filter -->
<filter>
<filter-name>encodingFilter</filter-name>
<filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class>
<init-param>
<param-name>encoding</param-name>
<param-value>UTF-8</param-value>
</init-param>
</filter>
<filter-mapping>
<filter-name>encodingFilter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
|
cs |
@ applicationContext.xml
이제 webap안에 WEB-INF 폴더 내에 spring 폴더를 생성하고 applicationContext.xml을 생성 후 기본적인 세팅을 한다
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
|
<?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:mvc="http://www.springframework.org/schema/mvc"
xsi:schemaLocation="http://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/spring-mvc-4.2.xsd
http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd">
<mvc:annotation-driven />
<mvc:resources location="/WEB-INF/resources/" mapping="/resources" />
<bean id="viewResolver"
class="org.springframework.web.servlet.view.InternalResourceViewResolver">
<property name="prefix" value="/WEB-INF/view"></property>
<property name="suffix" value=".jsp"></property>
</bean>
</beans>
|
cs |
@ MongoContext.xml
applicationContext와 동일 하게 생성을 하되 Name Space는 mongo를 추가해준다
그렇다면 위와 같이 mongo가 들어온 것을 확인할 수 있다 mongoDB를 세팅을 해주면 된다
@ Mongo Datasource
우선 mongo-client를 생성한다
그런 후 host와 port을 옵션으로 적어준 후 안에 client-options를 생성해서 옵션을 지정해준다
옵션은 필수는 아니지만 설정해주면 좋다
@ mongoTemplate 생성
bean을 생성해서 mongoTemplate를 생성한다
안에 생성자로 ref="mongo"는 위에서 설정한 dataSource를 의미 한다
*mongoContext.xml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
|
<?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"
xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd
http://www.springframework.org/schema/data/mongo http://www.springframework.org/schema/data/mongo/spring-mongo-1.8.xsd">
<mongo:mongo-client host="localhost" port="27017">
<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="true"
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="memo" />
</bean>
</beans>
|
cs |
@ mongoContext Test
작성 후 mongoContext가 잘 작동하는지에 대해 테스트를 해본다
이전에 생성한 패키지에 class를 생성한다
그런 후 mongoContext을 복사해서 src/main/resources에 임시로 복사한다
mongoContext를 가져오는 구문을 작성해준다
그리고 main에서 출력을 해본다
그리고 Run as를 통해서 Java Application으로 실행을 하면 아래와 같이 나오면 문제 없이 된 것이다
*MongoTest Class
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
|
public class MongoTest {
private MongoTemplate mongoTemplate;
public MongoTest() {
String mongoContextPath = "/mongoContext.xml";
AbstractApplicationContext ctx = new ClassPathXmlApplicationContext(mongoContextPath);
mongoTemplate = (MongoTemplate) ctx.getBean("mongoTemplate");
}
public static void main(String[] args) {
MongoTest mongoTest = new MongoTest();
System.out.println(mongoTest.mongoTemplate);
}
}
|
|
'[ Developer ] > MongoDB' 카테고리의 다른 글
[MongoDB] 몽고디비 스프링 Insert All (0) | 2016.07.02 |
---|---|
[MongoDB] 몽고디비 스프링 연동해 Insert 하기 (0) | 2016.06.30 |
[MongoDB] 몽고디비 색인 Index (0) | 2016.06.29 |
[MongoDB] 몽고디비 집계 함수 쿼리 실습 (0) | 2016.06.29 |
[MongoDB] 몽고디비 집계 함수 쿼리 개념 (0) | 2016.06.29 |