Help us understand the problem. What is going on with this article?

JavaフレームワークSparkでHelloWorld Webアプリを1行で作成

More than 5 years have passed since last update.

ちょっと前に知ったので試しに使ってみたら思いのほか簡単だったので投稿。

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を追加。

build.gradle
...

sourceCompatibility = targetCompatibility = 1.8

...

dependencies {
    compile 'com.sparkjava:spark-core:2.0.0'
...

Let's Hello World!

mainメソッドを持ったクラスを作成し、1行追加するだけ。

HelloWorld.java
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 にアクセスすると。

localhost.png

あっという間にHello Worldを表示するWebアプリ完成!
他にクラスファイルも設定ファイルも無いし本当に簡単w
ちょっとしたテストとかAPI作るならこれで十分かも。

感想

最近Javaアプリケーションとして起動するフレームワークちょいちょいありますね、DropwizardとかSpring Bootとか。(まぁそもそもSpring BootがDropwizardの影響を受けてるんですが)
流行りならDropwizardだし、多機能さならSpring BootなんだろうけどSparkの魅力って一体なんなんだろう?とにかく簡単に使えるってことなんだろうか?書いといてなんだけどw

Why do not you register as a user and use Qiita more conveniently?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Comments
Sign up for free and join this conversation.
If you already have a Qiita account
Why do not you register as a user and use Qiita more conveniently?
You need to log in to use this function. Qiita can be used more conveniently after logging in.
You seem to be reading articles frequently this month. Qiita can be used more conveniently after logging in.
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away