4월, 2013의 게시물 표시

Spring과 MongoDB

이마 다 알고 있는 사실이겠지만, 대용량 Data 입력 작업에 탁월한 mongoDB을 실제 프로젝트에 적용하는 사례가 많아 지고 있다. 이번 글에서는 국민 대표 프래임워크 Spring에 mongoDB을 사용하는 방법을 살펴보도록 하겠다.
Spring-Data-MongoDB Spring에서는 MongoDB와 연동을 위한 Connector을 제공한다. Dependency을 추가하면 mogo-java-driver도 같이 추가된다. <!-- MongoDB for Spring --> <dependency> <groupId>org.springframework.data</groupId> <artifactId>spring-data-mongodb</artifactId> <version>1.2.1.RELEASE</version> </dependency>

Spring Framework 여기서 설명하는 예제는 Spring webmvc을 기반으로 RESTFul API을 만들어봤다.
jdbc.properties mongoDB 설치 정보를 포함하는 환경설정 파일(파일 이름을 다른 걸로 할 것을...) mongo.host = localhost mongo.port = 27017 mongo.db.name = expense
Spring Config mongoDB관련 Namespace을 추가 해준다. <beans xmlns="http://www.springframework.org/schema/beans" xmlns:context="http://www.springframework.org/schema/context" xmlns:mvc="http://www.springframework.org/schema/mvc" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:mongo="http://www.spr…

Embedded jetty Server에서 Jersey 사용하기기

이미지
최근 WebService는 Mobile 단말기와 서버와의 API는 HTTP 기반의 Restful Webservice을 사용하는게 표준화되어 있다. 하지만 HTTP을 기반으로 API을 제공하기 위해서는 어떤 형태로든 WAS을 기반으로 제공되게 되어 있다. 기존에 TCP 형태의 API을 제공하는 서버가 있다고 할때 최소 비용(시간과 노력)으로 Restful을 제공할 수 있는 방법을 제안하도록 하겠다.
Jetty Server(http://www.eclipse.org/jetty/) "Jetty"의 특징은 Tomcat처럼 독립실행도 하지만, 코드 레벨로 WAS기능을 Embedded 시킬수 있다는게 가장큰 특징이다.
Jersey(http://jersey.java.net/) JAX-RS(JSR 311)을 완벽하게 구현시킨 오픈소스 RESTFul Webservice 라이브러리다. 보통 Spring RESTful을 많이 사용했겠지만, 이식성 및 표준 준수 여부 생각해서 Jersey을 선택했다.
Jetty Server in Maven <dependency> <groupId>org.eclipse.jetty</groupId> <artifactId>jetty-webapp</artifactId> </dependency> Jersey in Maven <dependency> <groupId>com.sun.jersey</groupId> <artifactId>jersey-server</artifactId> <version>1.17.1</version> </dependency>
<dependency> <groupId>com.sun.jersey</groupId> <artifactId>jersey-json</artifactId> <version>1.17.1</version> </depe…