はじめに
IntelliJ IDEAでSpring BootとGradleを使ってHello Worldを出力出すまでの手順を簡単にまとめました。
Spring Bootとは
Webアプリケーションフレームワークである「Spring Framework」ベースのアプリケーションを手軽につくることのできるフレームワーク。
Spring FrameworkではXMLのファイルで起動設定を行う必要があるが、Spring Bootではビルドツールの設定ファイルを記述するだけで済ませることができる。
さらにTomcatも埋め込まれているのでWARファイルをデプロイする必要がなく、フレームワーク初心者の自分にとってとてもわかりやすいつくりになっていた。
Gradleとは
ビルドツールの一つ
ビルドスクリプト
build.gradleにpluginの設定や依存関係を記述することで自動的にビルドを行なってくれる。
手順
1.JavaSDKをダウンロード
新たなプロジェクトを作る際に、使用するSDKを指定する必要があるので事前にダウンロードしておく必要がある。
2.GradleでJavaのプロジェクトを作成
プロジェクトの作成からGradleを選択し、ダウンロードしたSDK、Additional Libraries and FrameworksでJavaを選択する。
ArtifaceIdにはプロジェクト名を記述する。GroupIdの枠もありますが、Mavenのリポジトリにデプロイする予定がなければ記述する必要はない。
次に進むとUse auto-importという項目があるのでbuild.gradleに変更が加わった際に自動同期を行いたい場合はチェックをつけて作成を完了する。
3.build.gradleの設定
dependenciesのブロックには依存ライブラリを記述する必要があるので 下記のようにSpring Bootの設定を追加する。
buildscript {
ext {
springBootVersion = '2.1.0.RELEASE'
}
repositories {
mavenCentral()
}
dependencies {
classpath("org.springframework.boot:spring-boot-gradle-plugin:${springBootVersion}")
}
}
apply plugin: 'java'
apply plugin: 'org.springframework.boot'
apply plugin: 'io.spring.dependency-management'
group = 'jp.co.recochoku'
version = '0.0.1-SNAPSHOT'
sourceCompatibility = 1.8
repositories {
mavenCentral()
}
jar {
baseName = "spring-boot-hello-world"
version = "0.0.1-SNAPSHOT"
}
dependencies {
implementation('org.springframework.boot:spring-boot-starter-web')
testImplementation('org.springframework.boot:spring-boot-starter-test')
}
SPRING INITIALIZRというツールでbuild.gradleの内容を自動的に作成することができる。
4. 起動ファイルの作成
Spring Bootでは起動時に呼ばれるファイルを作成する必要があり、クラスには@EnableAutoConfiguration,@ComponentScan,@Configuretionのアノテーションが必要となる。
この3つを設定することで、Spring BootやBean、Componentの設定が行うことができる。
## 起動ファイル
package controller;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.EnableAutoConfiguration;
import org.springframework.context.annotation.ComponentScan;
import org.springframework.context.annotation.Configuration;
@Configuration
@EnableAutoConfiguration
@ComponentScan
public class Application {
public static void main(String[] args) {
SpringApplication.run(Application.class, args);
}
}
5. Hello Worldを出力するファイルの作成
@RequestMappingアノテーションを使用することでURLを指定することができる。
## Hello.java
package controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
@RestController
public class HelloController {
@RequestMapping(value = "/")
public String showMessage() {
return "hello world";
}
}
6. RunおよびBuildの設定
RunのEdit ConfigureからBuildの設定をおこなう。 templateからSpring Bootを選び,先ほど作成した起動ファイルをMain classに指定することでRunボタン一つでBuildからtomcatの起動まで行うことができる。
まとめ
モックの実装を始めた時はSpring BootではなくSpirng Frameworkを使用していたのですが、依存関係をXMLの設定ファイルに記述する必要があり初心者には少し抵抗があったため、Spring Bootを使った時の設定の少なさはとても魅力的でした。 さらにMain classを指定することでJar、Warを作らなくても実際に動かすことができるところも魅力の一つなのではないかと感じました。
小野口等
ゴルフの練習とお弁当作りに日々励む新米エンジニアです。