Spring Boot 2 プログラミング入門

概 要

Spring Bootは、数あるJavaのWebアプリケーション開発用フレームワークの分野で圧倒的な勢いで広まりつつあります。2018年早期にver2.0がリリースされ、オートコンフィギュレーション強化やリアクティブ開発の強化など大幅に機能が強化されます。本書は、Spring Boot 2.0のセットアップから基本的な使い方、テンプレートエンジンやデータベース利用まで紹介した入門書です。また、Gradleによる開発についても解説しています。

著者 掌田津耶乃
価格 本体2800円(税別)
ISBN 978-4-7980-5347-9
発売日 2018/1/30
判型 B5変
ページ数 480
CD/DVD
ダウンロード
表紙イメージ
購入 アマゾンで購入する
楽天で購入する

※リンク先によっては、販売ページが用意されていないことがあります。あらかじめご了承ください。

新しいウィンドウで開く 書籍購入のご案内

サポート

サポート情報は以下からご参照下さい。

サポート情報へのリンク

目次

Chapter 1 Spring開発のセットアップ

1.1 サーバー開発とSpring Boot

Spring Bootとは?

Spring Bootを選ぶ理由

Spring Frameworkの概要

Spring FrameworkによるWebアプリケーション開発とは?

1.2 Spring Framework開発環境の準備

Spring Tool Suiteを入手する

STS利用の注意点

STSのインストール

EclipseへのSTSのネットワーク経由インストール

STSの日本語化について

macOS版STSへの組み込み

1.3 STSを使おう

STSを起動する

基本画面と「ビュー」

そのほかのビューについて

パースペクティブについて

そのほかのパースペクティブを開く

パースペクティブの種類

1.4 プロジェクトの作成から実行まで

プロジェクトとは?

Springレガシープロジェクトを作成する

Mavenプロジェクトとは?

STSのエディタと支援機能

tc Serverによるアプリケーションの実行

作成されたアプリケーションについて

プロジェクトの基本構成

「src」フォルダの構成

Chapter 2 Groovyによる超簡単アプリケーション開発

2.1 Groovy利用のアプリケーション

Spring Bootとは?

Spring Bootアプリケーションについて

GroovyアプリとJavaアプリ

Spring Boot CLIの用意

Groovyスクリプトを作成する

app.groovyを実行する

Groovyクラスの定義について

HTMLを表示する

2.2 Thymeleafを利用する

テンプレートの利用

Thymeleafを利用する

コントローラーを修正する

ControllerとThymeleaf

Groovyでもテンプレートは書ける!

GroovyによるHTMLの記述

<div>タグと<a>タグ

どのテンプレートを使うべきか?

2.3 ビューとコントローラーの連携

ビューに値を渡す

コントローラーを修正する

日本語は文字化けする?

フォームを送信する

コントローラーを修正する

GroovyからJavaへ

Chapter 3 JavaによるSpring Boot開発の基本

3.1 Maven/Gradleによるアプリケーション作成

ビルドツールとSpring Boot

MavenとGradle

Mavenのセットアップ

Mavenでプロジェクトを生成する

プロジェクトの内容をチェックする

Mavenによるコンパイルと実行

Gradleのセットアップ

Gradleでプロジェクトを作成する

Gradleのファイル構成

Gradleのビルドと実行

3.2 STSによるプロジェクト作成の実習

STSでMavenベースのプロジェクトを作る

プロジェクトの内容をチェック!

プロジェクトを実行してみる

Spring Bootアプリケーションの仕組み

pom.xmlを調べる

pom.xmlの基本形

Spring スタータープロジェクトのpom.xml

Spring Bootのタグを整理する

pom.xmlをコピー&ペーストして利用する

STSでGradleを利用する

Gradleプロジェクトを作成する

プロジェクトの構成

プロジェクトを実行する

build.gradleの内容

Gradleコマンドによるプロジェクトの違い

3.3 RestControllerを利用する

MyBootAppApplicationクラス

MVCアーキテクチャーについて

コントローラークラスを用意する

HeloControllerを作成する

RestControllerについて

@RequestMappingについて

パラメータを渡す

パス変数と@PathVariable

オブジェクトをJSONで出力する

3.4 ControllerによるWebページ作成

ControllerとThymeleaf

Thymeleafを追加する(Mavenベース)

Gradleでの修正

コントローラーの修正

テンプレートファイルを作る

テンプレートに値を表示する

Modelクラスの利用

ModelAndViewクラスの利用

フォームを利用する

そのほかのフォームコントロール

ページの移動(フォワードとリダイレクト)

Chapter 4 テンプレートエンジンを使いこなす

4.1 Thymeleafをマスターする

Thymeleafの変数式

基本は変数式とOGNL

ユーティリティオブジェクト

パラメータへのアクセス

メッセージ式

プロパティファイルとローカライズ

リンク式とhref

選択オブジェクトへの変数式

リテラル置換

HTMLコードの出力

4.2 構文・インライン・レイアウト

Thymeleafの更に一歩上を行く使いこなし

条件式について

条件分岐の「th:if」

多項分岐の「th:switch」

繰り返しの「th:each」

プリプロセッシングについて

インライン処理について

JavaScriptのインライン処理

テンプレートフラグメント

4.3 そのほかのテンプレートエンジン

JSPは必要か?

JSPをあえて使うには?

JSPファイルを作成する

フォームを利用する

Groovyテンプレートを利用する

Groovyテンプレートファイルの作成

フォームを利用する

データをテーブル表示する

基本はThymeleaf

Chapter 5 モデルとデータベース

5.1 JPAによるデータベースの利用

Spring Frameworkにおける永続化のアプローチ

モデルに必要な技術について

ビルドファイルの修正

エンティティクラスについて

MyDataクラスの作成

エンティティクラスのアノテーションについて

リポジトリについて

リポジトリ用パッケージを用意する

リポジトリクラスMyDataRepositoryを作成する

リポジトリを利用する

リポジトリのメソッドをチェックする

テンプレートを用意する

5.2 エンティティのCRUD

フォームでデータを保存する

コントローラーを修正する

@ModelAttributeとデータの保存

@Transactionalとトランザクション

データの初期化処理

MyDataの更新

MyDataRepositoryにfindByIdを追加する

リクエストハンドラの作成

エンティティの削除

リポジトリのメソッド自動生成について

自動生成可能なメソッド名

JpaRepositoryのメソッド実装例

メソッド生成を活用するためのポイント

5.3 エンティティのバリデーション

エンティティのバリデーションについて

バリデーションをチェックする

@ValidatedとBindingResult

テンプレートを作成する

エラーメッセージを出力する

各入力フィールドにエラーを表示

javax.validationによるアノテーション

Hibernate Validatorによるアノテーション

エラーメッセージについて

プロパティファイルを用意する

用意されているエラーメッセージ

オリジナルのバリデータを作成する

PhoneValidatorクラスの作成

PhoneValidatorの実装

Phoneアノテーションクラスを作る

Phoneバリデータを使う

アプリケーションの修正

onlyNumber設定を追加する

PhoneValidatorクラスの変更

Chapter 6 データベースアクセスを掘り下げる

6.1 EntityManagerによるデータベースアクセス

Spring FrameworkとJPA

Data Access Object

DAOクラスの実装

EntityManagerとQuery

コントローラーの実装

ビューテンプレートの修正

@PersistenceContextは複数置けない!

DAOに検索メソッドを追加する

エンティティの検索

6.2 JPQLを活用する

JPQLの基本

find.htmlの作成

コントローラーへのリクエストハンドラの追加

DAOへのfindメソッドの追加

JPQLへのパラメータ設定

複数の名前付きパラメータは?

「?」による番号指定のパラメータ

クエリーアノテーション

リポジトリと@Query

@NamedQueryのパラメータ設定

@Query利用の場合

6.3 Criteria APIによる検索

Criteria APIの基本3クラス

Criteria APIによる全要素の検索

Criteria APIによる名前の検索

値を比較するCriteriaBuilderのメソッド

orderByによるエンティティのソート

取得位置と取得個数の設定

6.4 エンティティの連携

連携のためのアノテーション

MsgDataエンティティを作る

MyDataを修正する

MsgDataDaoの用意

ビューテンプレートの用意

コントローラーを作成する

Chapter 7 Spring Bootを更に活用する

7.1 サービスとコンポーネント

サービスとは?

MyDataServiceを作る

コントローラーでサービスBeanを使う

RestControllerを作成する

JavaScriptからサービスを利用する

XMLでデータを取得するには?

コンポーネントとBean

7.2 覚えておきたいその他の機能

構成クラスとBeanの利用

構成クラスを作成する

Beanクラスを作成する

Beanを登録して利用する

コントローラーとテンプレートの用意

ページネーションについて

Thymeleafの独自タグを作成する

MyPageAttributeTagProcessorクラスの作成

MyDialectクラスの作成

Beanの登録と利用

7.3 MongoDBの利用

NoSQLとMongoDB

MongoDBを準備する

MyDataMongoエンティティを作成する

MongoRepositoryを作成する

コントローラーを修正する

テンプレートを修正する

検索メソッドを追加する

Appendix Spring Tool Suiteの基本機能

A.1 STSの基本設定

STSの設定について

「General」設定

「General/Editors」設定

「Java」設定

「Java/Editor」設定

「Spring」設定

そのほかの設定

A.2 開発を支援するメニュー

<Source>メニューについて

<Refactor>メニューについて

A.3 プロジェクトの利用

プロジェクトの設定について

プロジェクトの管理

ワーキングセットについて

PR

秀和システム