はじめのてSpring Bootという書籍を読んで、ターミナルからSpring Bootの雛形プロジェクトの作成方法について勉強しました。Java SE8とMavenをつかっています。
次のコマンドで雛形を作成します。
$ mvn -B archetype:generate -DgroupId=com.example -DartifactId=hajiboot -Dversion=1.0.0-SNAPSHOT -DarchetypeArtifactId=maven-archetype-quickstart
作成された雛形はこんな感じです。
次のコマンドで作業ディレクトリに移動します。
$ cd hajiboot
Maventの依存関係定義ファイル『pom.xml』にSpring Bootを使用するための設定を記述。
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd"> <modelVersion>4.0.0</modelVersion> <groupId>com.example</groupId> <artifactId>hajiboot</artifactId> <packaging>jar</packaging> <version>1.0.0-SNAPSHOT</version> <name>hajiboot</name> <url>http://maven.apache.org</url> <!-- Spring Bootのバージョン指定 --> <parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId> <version>1.1.8.RELEASE</version> </parent> <dependencies> <!-- Spring BootのWebアプリのライブラリ関係 --> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> </dependency> <!-- spring Bootのテストライブラリ --> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-test</artifactId> <scope>test</scope> </dependency> </dependencies> <!-- Spring BootをビルドするためのMavenプラグイン --> <build> <plugins> <plugin> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-maven-plugin</artifactId> </plugin> </plugins> </build> <!-- Java SE8が使われるように設定 --> <properties> <java.version>1.8</java.version> </properties> </project>
次のコマンドでどのライブラリが利用できるか確認できます。
$ mvn dependency:tree
Hello Worldを表示
「src/main/java/com/example/App.java」を開いて以下のコードを記述
package com.example; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.EnableAutoConfiguration; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; @RestController // Webアプリのリクエストを受け付ける @EnableAutoConfiguration // SpringBootの設定ファイルを自動で有効化 public class App { @RequestMapping("/") // homeメソッドの宣言 String home() { return "Hello World!"; // Httpレスポンス } public static void main(String[] args) { SpringApplication.run(App.class, args); // 第一引数にEnableAutoConfigurationのクラスを指定 } }
次のコマンドで起動します。
$ mvn spring-boot:run
次のようになったら準備完了です。
localhost:8080にアクセスすると"Hello World"が表示されます。
アプリケーションの停止は「Ctrl + C」です。
jarファイルの作成
配布や実行が可能なjarファイルは以下のコマンドで作成できます。
$ mvn package
実行後、targetフォルダに作成されます。
jarファイルは次のコマンドで実行できます。
$ java -jar target/hajiboot-1.0.0-SNAPSHOT.jar
ポート番号の変更したい場合は次のようにオプションを追加します。
$ java -jar target/hajiboot-1.0.0-SNAPSHOT.jar --server.port=8888
以上がターミナルからSpring Bootの雛形プロジェクトを作成するときの流れです。