FURYU Tech Blog - フリュー株式会社

フリュー株式会社の開発者が技術情報を発信するブログです。

IntelliJ IDEAでSpring Boot プロジェクトを作成

こんにちは、コンテンツ・メディア第一事業部 前田です。

業務でSpring Bootを使って新しくプロジェクトを作成する機会がありましたので、新規プロジェクト作成、実行、設定ファイルの分け方についてまとめていきます。

Spring Bootとは

簡単にSpringプロジェクトを作成することができるフレームワークです。

Spring だと最初に様々な設定をする必要がありますが、Spring Bootには必要ありません。xml設定ファイルがそもそもありません。また、プロジェクトを起動するのにTomcatも必要ありません。jarファイルを使って、javaコマンドでアプリケーションを実行することが可能です。

Spring Bootで新規プロジェクトを作成する

環境

 IDE IntelliJ IDEA
JDKバージョン JDK 8
Mavenバージョン 3.3.9

作成までの流れ

File→New→Project…からMavenを選択し、新規Project作成を選択します。

無題

プロジェクトを作成できたら、pom.xmlにSpring Bootを追加します。

<parent>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-parent</artifactId>
    <version>1.0.2.RELEASE</version>
</parent>

<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-web</artifactId>
</dependency>
spring-boot-starter-parent  Spring Bootの標準設定
spring-boot-starter-web Spring MVCの機能が入っている

これでSpring Bootの機能が使えるようになりました。

jarコマンドでプロジェクトを実行

Spring Bootではjarファイルを指定し、jarコマンドでプロジェクトを実行することができます。

まずはjarファイルを作成します。

mvn package

これでtarget配下にjarが作成されます。

注意点として、mavenのバージョンが3以上でないと以下のようなエラーとなります。

Error configuring: org.springframework.boot:spring-boot-maven-plugin. Reason: Unable to retr
eve component configurator for plugin configuration

mavenのバージョンは3以上で実行しましょう。

jarを作成したらjarコマンドを実行します。

java -jar target/作成したjar

で実行できます。

起動できれば以下の様なログが流れます。

...
 
  .   ____          _            __ _ _
 /\\ / ___'_ __ _ _(_)_ __  __ _ \ \ \ \
( ( )\___ | '_ | '_| | '_ \/ _` | \ \ \ \
 \\/  ___)| |_)| | | | | || (_| |  ) ) ) )
  '  |____| .__|_| |_|_| |_\__, | / / / /
 =========|_|==============|___/=/_/_/_/

起動時に適用する設定ファイルを指定したい

Spring Bootの設定ファイルはproperties形式とYAML形式があります。

ここではYAML形式で設定ファイルを作成することとします。

ymlファイルの名前を変更し、それを起動時に指定することで設定ファイルをわけることができます。

application-test.yml

の設定で起動したい場合、先程のjarコマンドで起動する際

java -jar target/作成したjar --spring.profiles.active=test

のように書きます。

つまり、

application-指定する名前.yml

java -jar target/作成したjar --spring.profiles.active=指定する名前

で設定ファイルを分けることができます。

感想

新規プロジェクト作成では設定でつまりがちで中々Hello Worldが出せない私ですが、Spring Bootではスムーズにプロジェクトを起動することができました。

参考

http://maplesystems.co.jp/blog/programming/18474.html

http://projects.spring.io/spring-boot/

http://www.techscore.com/blog/2014/05/01/spring-boot-introduction/