初めての Spring Boot アプリケーションを開発する
Spring Boot の主要な機能をいくつか紹介するために、Java で単純な「Hello World!」Web アプリケーションを開発してみましょう。ほとんどの IDE が Maven をサポートしているため、プロジェクトのビルドには Maven を使用します。
注: spring.io Web サイトには、Spring Boot を使用するための「入門」ガイドが多数含まれています。特定の問題の解決策を探している場合は、まずそれを確認してください。
開始する前に、ターミナルを開いて、利用可能なバージョンの Java と Maven がインストールされているかどうかを確認する必要があります。
$ java -version
java version "1.7.0_51"
Java(TM) SE Runtime Environment (build 1.7.0_51-b13)
Java HotSpot(TM) 64-Bit Server VM (build 24.51-b03, mixed mode)
$ mvn -v
Apache Maven 3.2.3 (33f8c3e1027c3ddde99d3cdebad2656a31e8fdf4; 2014-08-11T13:58:10-07:00)
Maven home: /Users/user/tools/apache-maven-3.1.1
Java version: 1.7.0_51, vendor: Oracle Corporation
注: この例では、独自のフォルダーを作成する必要があります。以下の説明は、適切なフォルダーが作成されており、それが「現在のディレクトリ」であることを前提としています。
POMの作成
まず、Maven pom.xml ファイルを作成する必要があります。pom.xml は、プロジェクトのビルドに使用されるレシピです。お気に入りのテキスト エディターを開き、次の内容を追加します。
<?xml version="1.0" encoding="UTF-8"?>
<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/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>com.example</groupId>
<artifactId>myproject</artifactId>
<version>0.0.1-SNAPSHOT</version>
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>1.3.0.BUILD-SNAPSHOT</version>
</parent>
<!-- Additional lines to be added here... -->
<!-- (you don't need this if you are using a .RELEASE version) -->
<repositories>
<repository>
<id>spring-snapshots</id>
<url>http://repo.spring.io/snapshot</url>
<snapshots><enabled>true</enabled></snapshots>
</repository>
<repository>
<id>spring-milestones</id>
<url>http://repo.spring.io/milestone</url>
</repository>
</repositories>
<pluginRepositories>
<pluginRepository>
<id>spring-snapshots</id>
<url>http://repo.spring.io/snapshot</url>
</pluginRepository>
<pluginRepository>
<id>spring-milestones</id>
<url>http://repo.spring.io/milestone</url>
</pluginRepository>
</pluginRepositories>
</project>
これにより、実行してテストできる動作するビルドが得られますmvn package
(今のところ、「jar は空になります - 何も含まれていません!」という警告は無視してかまいません)。
注: 現在、プロジェクトを IDE にインポートできます (最新の Java IDE には Maven のサポートが組み込まれています)。簡単にするために、この例では引き続き通常のテキスト エディタを使用します。
クラスパスの依存関係を追加する
Spring Boot は、jar をクラスパスに簡単に追加できるようにする多くの「スターター POM」を提供します。サンプルプログラムは POM の親ノードで使用されていますspring-boot-starter-parent
。spring-boot-starter-parent
は、便利な Maven デフォルトを提供する特別なスターターです。また、dependency-management
「祝福された」依存関係のバージョン タグを省略できるノードも提供されます。
他の「スターター POM」は、特定の種類のアプリケーションの開発に必要な依存関係を提供するだけです。Web アプリケーションを開発しているので、依存関係を追加しますspring-boot-starter-web
。その前に、これまでの内容を見てみましょう。
$ mvn dependency:tree
[INFO] com.example:myproject:jar:0.0.1-SNAPSHOT
mvn dependency:tree
コマンドを使用して、プロジェクトの依存関係をツリー表現で出力します。spring-boot-starter-parent
単独で提供される依存関係がないことがわかります。pom.xml を編集し、spring-boot-starter-web
親ノードの下に依存関係を追加します。
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
</dependencies>
もう一度実行するとmvn dependency:tree
、Tomcat Web サーバーや Spring Boot 自体など、他の依存関係があることがわかります。