ちょっと前に知ったので試しに使ってみたら思いのほか簡単だったので投稿。
What's Spark?
Spark - A small web framework for Java
Sparkとはsinatraにインスパイアされて開発された小規模なアプリケーション向けのフレームワーク。
Environment
使った環境
- Eclipse 4.4
- Java 8
- Spark
- Gradle
今回は少し楽をしてeclipseでGradleプロジェクトを作成。
build.gradleで環境をJava8にし、dependenciesにsparkを追加。
...
sourceCompatibility = targetCompatibility = 1.8
...
dependencies {
compile 'com.sparkjava:spark-core:2.0.0'
...
Let's Hello World!
mainメソッドを持ったクラスを作成し、1行追加するだけ。
import static spark.Spark.*;
public class HelloWorld {
public static void main(String[] args) {
// 以下の行だけ
get("/hello", (request, response) -> "Hello World!");
}
}
通常のJavaアプリケーションのようにmainメソッドを実行すると
== Spark has ignited ...
>> Listening on 0.0.0.0:4567
こんな感じのメッセージが表示されます。
これは今回作成したアプリケーションがJettyで起動している状態なので、http://localhost:4567/hello にアクセスすると。
あっという間にHello Worldを表示するWebアプリ完成!
他にクラスファイルも設定ファイルも無いし本当に簡単w
ちょっとしたテストとかAPI作るならこれで十分かも。
感想
最近Javaアプリケーションとして起動するフレームワークちょいちょいありますね、DropwizardとかSpring Bootとか。(まぁそもそもSpring BootがDropwizardの影響を受けてるんですが)
流行りならDropwizardだし、多機能さならSpring BootなんだろうけどSparkの魅力って一体なんなんだろう?とにかく簡単に使えるってことなんだろうか?書いといてなんだけどw