Spark Frameworkとは
RubyのSinatoraというフレームワークにインスパイアされて作られた、シンプルなウェブ・アプリケーション・フレームワークです。
Java8のLambdaをサポートしていて、シンプルに記述することが可能です。
組み込みのWebサーバが内蔵されているため、APサーバを別途建てること無くアプリケーションを実行することが出来る点もイマドキな感じがします。
ScalaでもScalatraというSinatra Likeなフレームワークが有り、それを使っていた身としてはしっくりくるフレームワークでした。
依存関係を追加
では、Saprk Frameworkを使ってみましょう。
今回は、Gradleを使ってプロジェクトを作成します。
group 'sample'
version '1.0.0-SNAPSHOT'
apply plugin: 'java'
sourceCompatibility = 1.8
dependencies {
testCompile 'junit:junit:4.12'
compile 'com.sparkjava:spark-core:2.3'
}
APIを作成
Spark Frameworkを使ってAPIを作成します。
package sample;
import static spark.Spark.*;
public class Hello {
public static void main(String[] args){
get("/hello", (request, response) -> "Hello World");
}
}
実行
Hello Worldと表示されました。
Spark Frameworkについても詳しい使い方は、ドキュメントを参照してください。
http://sparkjava.com/documentation.html
実行可能jarの作成
Gradleを使って、実行可能jar の作成を行います。
buildscript {
repositories {
jcenter()
}
dependencies {
classpath 'eu.appsatori:gradle-fatjar-plugin:0.3'
}
}
group 'sample'
version '1.0.0-SNAPSHOT'
apply plugin: 'java'
apply plugin: 'eu.appsatori.fatjar'
repositories {
mavenCentral()
}
sourceCompatibility = 1.8
repositories {
mavenCentral()
}
dependencies {
testCompile 'junit:junit:4.12'
compile 'com.sparkjava:spark-core:2.3'
}
fatJar {
baseName = 'spark-sample'
manifest {
attributes('Main-Class': 'sample.Hello')
}
}
実行
java -jar spark-sample-1.0.0-SNAPSHOT.jar
まとめ
Spark Frameworkを使用すれば、とても簡単にWebアプリケーションを作成することができますね。
いろいろなFrameworkを使ってきましたが、今のところ一番楽に使うことができます。