IntelliJでSpring Bootを動かす

Spring BootのアプリケーションをIntelliJでどのように動かすか試しました。Java自体触るのがかなり久しぶりで、Spring Bootも初めて触ったので、少しハマりました。Javaの開発も色々変わってるんですね…。

プロジェクトの新規作成

Mavenを利用する場合

File > New > Projectで「Spring Initializr」を選択します。次の画面でTypeでMavenが選択されている事を確認します。

NewImage

次にDependenciesで「Web」と「Thymeleaf」を選択します。

NewImage

Mavenプラグインを開き、Lifecycleからinstallを選択します。pom.xmlに記述された依存性がダウンロードされます。

NewImage

次にsrc/main/javaに作られているcom.exampleパッケージに下記のMainController.javaを追加します。

package com.example;

import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.RequestMapping;

@Controller
public class MainController {
    @RequestMapping("/home")
    public String mainpage(Model model) {
        return "mainpage";
    }
}

次にsrc/main/resources/templatesに下記のmainpage.htmlを追加します。

<!DOCTYPE html>
<html lang="jp">
<head>
	<meta charset="UTF-8"/>
	<title>MainPage</title>

	<link href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css" rel="stylesheet" />
</head>
<body>
	<div class="container">
		<h1>Hello World</h1>
		Lorem ipsum dolor sit amet, consectetur adipisicing elit. Animi aut cum dicta dolore dolorem, eveniet ex excepturi fugiat ipsa nemo omnis placeat quam quod sint, vero! Architecto aspernatur impedit placeat.
	</div>
</body>
</html>

次にアプリケーションのエントリポイントとなるクラス(今回はDemoMaven1Application)を右クリックしRunします。

NewImage

http://localhost:8080/homeを確認すると画面が表示されます。

Gradleを利用する場合

基本的にはMavenの場合と同じです。TypeでGradleを選択します。

NewImage

Mavenと同じ手順で進めていきFinishした後に下記を聞かれるので、Use auto-importを選択します。

NewImage

後のControllerとtemplateの追加やRun実行などの手順は基本的に同様です。

既存プロジェクトのインポート

Learning Spring Bootのプロジェクトをインポートできるか試します。

File > New > Project from Existing Sourcesから既存のSpring Bootのディレクトリを選択します。

すると下記のように聞かれるので、Gradleのプロジェクトとして取り込みます。

NewImage

Use auto-importを選択されてなければ選択します。

NewImage

後は上記の新規作成の場合と同様にエントリポイントのクラスから右クリックでRunを実行すればTomcatが起動します。新規作成の場合と同じように動作することを確認できました。