はじめに
SpringBootでWebアプリ作成するときに大体やることのまとめ。
前提条件
開発ツール:Pleiades All in One
準備
プロジェクト作成
新規プロジェクト→Spring スターター・プロジェクトを選ぶ。
依存関係の選択では、最低限以下があれば良さそう。
名前 | 説明 |
---|---|
Spring Boot DevTools | 開発中にテストするときに、ホットデプロイができたりするツール |
Thymeleaf | HTMLのテンプレートエンジン |
Spring Web Starter | Webアプリケーションを作成する場合に必要なもの |
Thymeleaf Layout Dialectを依存関係に追加
レイアウトの共通化が出来るようになる。
バージョンはそのときの最新で。
dependencies {
compile group: 'nz.net.ultraq.thymeleaf', name: 'thymeleaf-layout-dialect', version: '2.4.1'
}
初めの画面作成
レイアウト用HTML作成
html
タグに、Thymeleaf用スキーマ定義を追加する。
<!DOCTYPE html>
<html
xmlns:th="http://www.thymeleaf.org"
xmlns:layout="http://www.ultraq.net.nz/thymeleaf/layout">
<head>
<meta charset="UTF-8">
<link rel="stylesheet" href="css/uikit.min.css" th:href="@{css/uikit.min.css}" />
<script src="js/uikit.min.js" th:src="@{js/uikit.min.js}"></script>
<script src="js/uikit-icons.min.js" th:src="@{js/uikit-icons.min.js}"></script>
<title>システム名</title>
</head>
<body>
<!-- メニュー -->
<nav class="uk-navbar-container" uk-navbar>
<div class="uk-navbar-left">
<ul class="uk-navbar-nav">
<li class="uk-active"><a href="">トップ</a></li>
<li><a href=""></a></li>
</ul>
</div>
</nav>
<!-- 内容 -->
<div class="uk-section" layout:fragment="content">
</div>
</body>
</html>
個別HTML作成
・html
タグに、Thymeleaf用スキーマ定義を追加する。
・どのレイアウトファイルを使用するか指定する。
・cssの読込など、レイアウトファイルでやっていることについては、th:remove
タグを追加しておく。
<!DOCTYPE html>
<html
xmlns:th="http://www.thymeleaf.org"
xmlns:layout="http://www.ultraq.net.nz/thymeleaf/layout"
layout:decorate="~{layouts/layout01}">
<head>
<meta charset="UTF-8">
<link rel="stylesheet" href="css/uikit.min.css" th:remove="all" />
<script src="js/uikit.min.js" th:remove="all"></script>
<script src="js/uikit-icons.min.js" th:remove="all"></script>
<title>トップページ</title>
</head>
<body>
<!-- 内容 -->
<div class="uk-section" layout:fragment="content">
<p>トップページです</p>
</div>
</body>
</html>
Controller作成
@Controller
public class IndexController {
@RequestMapping("/")
public String get() {
return "index.html";
}
}
アプリケーション起動
プロジェクト名で右クリック→「実行」→「Spring Boot アプリケーション」を選択。
起動確認後、http://localhost:8080/
でアクセスできる。
ソース管理
binフォルダを無視する
作成したプロジェクトをGitで管理しようとすると、なぜかbinフォルダとその中のclassファイル等が無視されない。ので、無視する設定を追加する。
プロパティファイルの値の利用
DI管理されたオブジェクトの場合、@Value
が使える。defaultValue
はキーが無かった時の既定値。省略可能。
@Value("${key:defaultValue}")
private String value = null;
faviconを無効にする
デフォルトでは緑の葉っぱがアイコンになっているので、無効にしておくと良い。
spring.mvc.favicon.enabled=false