Spring Bootの練習日記:1日目

WebのフレームワークはPHPのCakePHP, RubyのRuby on Railsときて、JavaのやつはSlim3以外は触ったことがなく、全くに近いほどJavaでのWeb開発についての知識が皆無です。未だによくわかってません。Javaは3文字の略語も多くて本当に私にとっては魔境でしかないのですが、それでもやってみたいという気持ちはあります。型安全ですし。
そこで、Javaで今からやるとしたらどのフレームワークがいいかなー?とFacebookに書いてみたところ、岡山Javaユーザー会 代表であり、同僚の@zephiransasさんに「今だとSpring Bootかなー?」とアドバイスを頂いたので、とりあえずSpring Bootをやってみます!

Spring Bootとは?

Spring Bootは以前からあるSpringフレームワークをポータブルに実行できる環境のようで、フレームワークというとちょっと違うっぽいです。しかし、組み込みAPサーバとしてTomcatを使い、jarを実行するだけでWebアプリケーションが立ち上がるので、非常にお手軽(らしい)。

warを作ってAPサーバにデプロイするのは最近は流行ってないようです。そういえばPlay frameworkのそういう感じらしいというのは見た事あります。

まずは導入

Spring Bootのページにありますが、Groovyで作られたCLIツールがあるようです。
gvm経由でインストールできるものがあったので、それで入れました。gvmのインストールがまだの人はgvmをインストールしてください。
ちなみに私の環境はMacなので、Mac以外の環境のことはわかりません。

GVM – the Groovy enVironment Manager

gvmから、Spring BootのCLIをインストールします。

gvm install springboot

プロジェクトを作成

IntelliJ IDEAでgradleプロジェクトを作り、build.gradleのdependenciesブロックに以下を記述しました。あと一応sourceSetsも記述。

apply plugin: 'java'

sourceCompatibility = 1.8
version = '1.0'

repositories {
    mavenCentral()
}

dependencies {
    compile("org.springframework.boot:spring-boot-starter-web:1.2.1.RELEASE")
    testCompile group: 'junit', name: 'junit', version: '4.11'

}
// 2015-02-24 修正。
sourceSets {
    main {
        java
    }
    test {
        java
    }
}

その後、src/main/java/sample/HelloController.javaを作成。

package sample;
import org.springframework.boot.*;
import org.springframework.boot.autoconfigure.*;
import org.springframework.stereotype.*;
import org.springframework.web.bind.annotation.*;

@Controller
@EnableAutoConfiguration
public class HelloController {

    @RequestMapping("/")
    @ResponseBody
    String home() {
        return "Hello World!";
    }

    public static void main(String[] args) throws Exception {
        SpringApplication.run(HelloController.class, args);
    }

}

IntelliJ上からHelloControllerを実行。http://localhost:8080にアクセスしたらHello World!が出たのでとりあえず動くところまではできました。今後はいろんなサンプルが豊富にあるらしいので、とりあえずそれを写経したりしながら、勉強していこうと思います。

練習用に作ったgithubのリポジトリを公開しておきます。
github: patorash/spring_boot_practice


カテゴリー Java | タグ | パーマリンク

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です