Spring Bootによる簡単Springアプリケーション開発

提供: omotenashi-mind
移動先: 案内検索

インストール

前提

Spring Boot利用のためには、次の環境が必要となります。

  • Java SDK v1.6以上
  • Gradle 1.6以上(※)
  • Eclipse 3.7.2以上(Gradleプラグインが導入されたもの)

※ここではGradleを利用した手順をご説明しますが、Mavenで導入する方法も提供されています。

補足:UbuntuへのGradleインストール手順

gradleのリポジトリを追加して、リポジトリを更新します。

sudo add-apt-repository ppa:cwchien/gradle
sudo apt-get update

リポジトリの更新が終わったら、gradleをインストールします。

sudo apt-get install gradle-ppa


補足:EclipseへのGradleプラグインインストール手順

Eclipseのプラグインインストールメニューから、以下のGradleプラグイン公開サイトを設定して導入してください。
Gradleプラグイン公開サイト

http://dist.springsource.com/release/TOOLS/gradle


表示されるプラグインの中から「Gradle IDE」を選択してインストールしましょう。

補足:GVM(Groovy enVironment Manager)インストール手順

curl -s get.gvmtool.net | bash
cd
source .gvm/bin/gvm-init.sh


開発編

Getting Start

ここでは手始めに、Spring Bootを利用したRest API作成の流れを解説します。

1.Gradleプラグインを導入したEclipseを起動し、新規Gradleプロジェクトを作成します。

2.次にビルド用ファイル「build.gradle」を新規作成したGradleプロジェクトの直下に作成します。以下、「build.gradle」ファイルの内容です。

(build.gradle)

 1 buildscript {
 2     repositories {
 3         mavenCentral()
 4         maven { url "http://repo.spring.io/snapshot" }
 5         maven { url "http://repo.spring.io/milestone" }
 6     }
 7     dependencies {
 8         classpath("org.springframework.boot:spring-boot-gradle-plugin:1.1.7.RELEASE")
 9     }
10 }
11 
12 apply plugin: 'java'
13 apply plugin: 'spring-boot'
14 
15 jar {
16     baseName = 'myproject'
17     version =  '0.0.1-SNAPSHOT'
18 }
19 
20 repositories {
21     mavenCentral()
22     maven { url "http://repo.spring.io/snapshot" }
23     maven { url "http://repo.spring.io/milestone" }
24 }
25 
26 dependencies {
27     compile("org.springframework.boot:spring-boot-starter-web")
28     testCompile("org.springframework.boot:spring-boot-starter-test")
29 }


3.build.gradleファイルを作成すると、関連ライブラリのダウンロードが始まります。
4.関連ライブラリのダウンロードが完了したら、実際に動作する実行クラスを作成します。

 1 import org.springframework.boot.SpringApplication;
 2 import org.springframework.boot.autoconfigure.EnableAutoConfiguration;
 3 import org.springframework.web.bind.annotation.RequestMapping;
 4 import org.springframework.web.bind.annotation.RestController;
 5 
 6 @RestController
 7 @EnableAutoConfiguration
 8 public class HelloWorld {
 9 
10     @RequestMapping("/")
11     String home() {
12         return "Hello World!";
13     }
14 
15     public static void main(String[] args) throws Exception {
16         SpringApplication.run(HelloWorld.class, args);
17     }
18 
19 }


5.実行クラスの作成が完了したら、あとは実行するだけです。実行すると、次のようなログが出力され、Tomcatが起動します。

  .   ____          _            __ _ _
 /\\ / ___'_ __ _ _(_)_ __  __ _ \ \ \ \
( ( )\___ | '_ | '_| | '_ \/ _` | \ \ \ \
 \\/  ___)| |_)| | | | | || (_| |  ) ) ) )
  '  |____| .__|_| |_|_| |_\__, | / / / /
 =========|_|==============|___/=/_/_/_/
 :: Spring Boot ::        (v1.1.7.RELEASE)


6.起動が確認できたら、最後に接続します。
(接続先)

http://localhost:8080/

「Hello World!」と出力されれば完了です。

Spring Batch編

Spring BootはSpring Batchもサポートしています。以下、手順を簡単に解説します。

1.Getting Start同様にプロジェクトおよびビルド用ファイル(build.gradle)を作成します。なお、Getting Startで紹介したbuild.gradleファイルの27行目だけをSpring Batch用に変更します。

compile("org.springframework.boot:spring-boot-starter-batch")


2.Spring Batch設定を示すクラスを定義します。

 1 import org.springframework.batch.core.Job;
 2 import org.springframework.batch.core.Step;
 3 import org.springframework.batch.core.StepContribution;
 4 import org.springframework.batch.core.configuration.annotation.EnableBatchProcessing;
 5 import org.springframework.batch.core.configuration.annotation.JobBuilderFactory;
 6 import org.springframework.batch.core.configuration.annotation.StepBuilderFactory;
 7 import org.springframework.batch.core.launch.support.RunIdIncrementer;
 8 import org.springframework.batch.core.scope.context.ChunkContext;
 9 import org.springframework.batch.core.step.tasklet.Tasklet;
10 import org.springframework.batch.repeat.RepeatStatus;
11 import org.springframework.beans.factory.annotation.Autowired;
12 import org.springframework.boot.autoconfigure.EnableAutoConfiguration;
13 import org.springframework.context.annotation.Bean;
14 import org.springframework.context.annotation.Configuration;
15 
16 @Configuration
17 @EnableBatchProcessing
18 @EnableAutoConfiguration
19 public class BatchConfiguration {
20 
21 	@Autowired
22 	private JobBuilderFactory jobBuilderFactory;
23 
24 	@Autowired
25 	private StepBuilderFactory stepBuilderFactory;
26 
27 	@Bean
28 	public Step step1() {
29 		return stepBuilderFactory.get("step1")
30 				.tasklet(new Tasklet() {
31 					@Override
32 					public RepeatStatus execute(StepContribution contribution, ChunkContext chunkContext) throws Exception {
33 						return null;
34 					}
35 				}).build();
36   }
37 
38 	@Bean
39 	public Job job(Step step1) throws Exception {
40 		return jobBuilderFactory.get("job1")
41 				.incrementer(new RunIdIncrementer()).start(step1).build();
42 	}
43 }

従来のジョブ定義ファイルをアノテーションベースで記述できるようになっています。

3.起動用のMainクラスを定義します。

1 import org.springframework.boot.SpringApplication;
2 
3 public class Main {
4 	public static void main(String[] args) {
5 		System.exit(SpringApplication.exit(SpringApplication.run(
6 				BatchConfiguration.class, args)));
7 	}
8 }


4.Mainクラスを起動すると、設定に従ってJobが実行されることが確認できます。
以上.

参考サイト