본문 바로가기
프로그래밍

spark framework

by 탁구치는 개발자 2016. 9. 28.


Spark framework는 가벼운 웹 프레임워크이고 JVM 기반에서 실행 가능하다.

jetty 서버가 내장되어 있으며 2.x 버전부터 람다를 사용하고 있어 자바8이 설치되어 있어야 한다.


spark 사용 빈도를 조사한 자료를 보니 1위가 개인 프로젝트였고, 2위가 REST API를 제공하기 위한 용도로 많이 사용한다고 한다.

 

확실히 프로젝트 셋팅하고 REST API를 만드는데 10분도 걸리지 않았기에 dummy API를 제공할 때 사용하면 될 것으로 보이기도 하다.


[spark 셋팅]


1. 이클립스에서 gradle 프로젝트 생성 (gradle plugin 설치 필요)



2. build.gradle 파일에 다음의 설정 추가

plugins {
    id "java"
    id "application"
}

group 'test.kuy'
version '1.0-SNAPSHOT'


sourceCompatibility = 1.8
mainClassName = 'test.kyu.SparkApplication'


repositories {
    jcenter()
    mavenCentral()
}

dependencies {
    compile 'com.sparkjava:spark-core:2.5'
    compile 'com.sparkjava:spark-template-thymeleaf:2.3'
    compile 'org.mongodb:mongodb-driver-reactivestreams:1.2.0'
	compile group: 'com.google.code.gson', name: 'gson', version: '2.7'
	
    testCompile group: 'junit', name: 'junit', version: '4.11'
}


3. 코드는 다음과 같이 추가

public class SparkApplication {
	
	public static void main(String[] args) {
		staticFileLocation("/public");

		// HTML 형태
		get("/hello", SparkApplication::helloWorld, new ThymeleafTemplateEngine());
		
		// JSON 형태
		get("/helloJson", (request, response) -> "Hello World", new Gson()::toJson);
	}

	public static ModelAndView helloWorld(Request req, Response res) {
		Map params = new HashMap<>();
		params.put("name", req.queryParams("name"));
		return new ModelAndView(params, "hello");
	}
}


4. 실행 후 http://localhost:4567/hello?name=test111 접속