Spring BootはJavaで人気のフレームワークです。ここではSpring Bootを使ってMVCモデルのウェブアプリを開発していきます。
実際にSpring Bootでウェブアプリを開発しながら、入門者・初心者、また個人で(独学で)勉強したい人にもわかりやすいように説明していくつもりです。
アプリの題材として、ブラウザ上で動作する簡単な日記投稿ウェブアプリを想定しています。
(Spring Bootのバージョンは、2.7系と2.4系で動作する事を確認しています。)
日記の新規投稿だけでなく、編集、削除、一覧表示という基本的なCRUD機能を備えたウェブアプリにします。
日記投稿なので、機能的にはブログ、ツイート、メモ書き、掲示板、コメント投稿アプリなどとしても応用できると思いますので、参考にしてみてください。
※ 本ページはプロモーションが含まれています。
(第0回) Javaで人気のフレームワークSpring Boot
JavaフレームワークのSpring Bootとはどんなものかについて説明しています。Spring Bootでできる事や特徴、Spring Bootで開発する事のメリット、仕事で使われているかどうかなどです。Spring Bootに興味のある方は参考にしてください。
(第1回) Spring Boot2で日記ウェブアプリの開発のスタート
Spring Boot2でMVCモデルのウェブアプリを開発していきます。題材は、ブラウザ上で動作するシンプルな日記投稿ウェブアプリです。まずはEclipseのプロジェクト作成からです。
ウェブアプリの開発に入る前に、SQLログ出力の設定とDBの接続設定をやっていきます。DBはH2を使用します。また、SQLログ出力にはLog4jdbc-log4j2を使用します。
(第3回) DBのテーブル設計、エンティティクラスと初期データの作成
日記投稿ウェブアプリで使用するDBのテーブル構成を決めたり、エンティティクラスの作成、初期データdata.sqlの作成をやっていきます。そして最後に、SQLログとH2 Consoleで動作確認をします。
EclipseのSpring BootをGitで管理する。更にリモート環境でGit共有リポジトリ管理も
EclipseのSpring Bootプロジェクトをgitコマンドで管理する方法や、ec2などのサーバ環境にGit共有リポジトリを作り、リモートでEclipseで開発したプロジェクトのソースを管理(バックアップや共有)する方法について説明しています。
(第4回) DBテーブルのCRUD操作をするリポジトリインタフェースを作成
テーブルのCRUD操作のために、Spring Data JPAのCrudRepository(JpaRepository)を継承したリポジトリ(Repository)インタフェースの作成をします。
コントローラクラスを作成し、日記の一覧データを取得する処理を作ります。CRUDでいうと、R(Read、読み込み・データ取得)の部分になります。
(第6回) 日記データ一覧の表示、フロントエンドの開発、Thymeleaf
テンプレートエンジンThymeleafのファイルを作成して日記の一覧データを表示します。MVCモデルのV(View)の部分にあたります。
(第7回) Spring Boot2ウェブアプリにBootstrap4を導入、CDNとWebjarsの2つの方法
Spring Bootのフロントエンド(Thymeleaf)にBootstrapを導入します。導入方法として、(1)CDNを利用する、(2)Mavenでウェブアプリ内にWebjarsをダウンロードして利用するという2つの方法について説明します。
(第8回) 日記の削除機能を追加、CRUDのD(Delete、削除)
コントローラクラスに日記の削除処理をするメソッドを追加します。CRUDでいうと、D(Delete、削除)の部分になります。また、リダイレクト処理もするようにします。
(第9回) 日記の新規登録機能を追加、CRUDのC(Create、作成)
コントローラクラスに日記の新規投稿処理をするメソッドを追加します。CRUDでいうと、C(Create、作成)の部分になります。
(第10回) Spring Boot2で新規登録フォームのバリデーション機能を追加
日記の新規登録処理にバリデーション機能(検証チェック)を追加します。Bean ValidationとSpringのバリデーション機能についても解説しています。
(第11回) 日記の編集画面と更新機能を追加、CRUDのU(Update、更新)
日記の編集画面の作成とコントローラクラスに更新処理をするメソッドを追加します。CRUDでいうと、U(Update、更新)の部分になります。
Spring Bootで使用するDBをH2からMySQLに変更します。Spring BootとMySQLの連携について説明します。
(第13回) Spring Bootで使うDBをMariaDBに変更
Spring Bootで使用するDBをMariaDBに変更します。Spring BootとMariaDBの連携について説明します。
Eclipse上からSpring Bootアプリを起動するのではなく、Spring Bootアプリをjarファイルにパッケージ化して、コマンドラインからjavaコマンドで起動する方法について説明しています。
Spring Bootでリポジトリインタフェースのプログラミング
Spring BootでSpring Data JPAを使用したDB操作のリポジトリインタフェースのプログラミングについて説明しています。
Spring BootでOptional型オブジェクトをThymeleaf側で処理する
Spring BootのThymeleafで、Optional型のオブジェクトを空判定(nullチェック)しながら処理する方法について説明しています。
Spring Boot + MySQL(MariaDB)の実行環境を作る
MacやLinuxサーバ上にオープンソースのOpenJDK(JRE)とMySQL(MariaDB)をインストールして、DBと連携したSpring Bootアプリの実行環境を構築する手順について説明しています。
Spring Bootで使われるJavaのテンプレートエンジンThymeleaf(HTML)でヘッダー・フッターなどの共通部分を別ファイルにして共有する方法について説明しています。
OpenJDKをインストールする【ec2(Amazon Linux 2,2023)】
AWSのec2上(Amazon Linux2, Amazon Linux 2023)にJavaのOpenJDK17,20のインストール方法について、Java入門者・初心者にも分かりやすく説明しています。
Linux上にJavaのOpenJDK17,20のインストール方法について、Java入門者・初心者にも分かりやすく説明しています。
Spring Boot3 + MySQL(MariaDB)のWebアプリ開発入門
Spring Bootのバージョン3系とMySQL(MariaDB)を連携したWebアプリ開発の説明をしています。
Spring Boot2.4から2.7へバージョンアップ時にエラー発生
Spring Boot2.4のWebアプリを2.7へアップグレードしたら、アプリ起動時にdata.sqlによるDBのデータ初期化処理でエラー発生して起動できなくなったので、その時の解決方法と、schema.sql/data.sqlによるDBデータ初期化処理について説明しています。
Eclipse(Pleiades All in One)をインスールしてJava開発ができるようにする【macOS版】
Eclipse4.16(Pleiades All in One )をダウンロードとインストールをして、Hello worldを出力するJavaプロジェクトを作成して実行するまでをやっています。初めてEclipseでJava開発環境を構築したい入門者・初心者の方は、参考にしてください。
Sprint Boot2で初めてのJavaのウェブアプリ開発 ~ Hello World
Spring Boot2入門。JavaフレームワークのSprint Boot2.7で、Hello worldを出力する簡単なJavaウェブアプリを作っていきます。
Spring Bootの入門用サンプルプロジェクトをEclipseにインポートして動かしてみる
Eclipse(Pleiades)からSpringの入門ガイド用のサンプルプロジェクトをインポートし、動作確認やホットリロードを有効にする方法を説明しています。
Eclipseでよく使うショートカット一覧表示、ショートカット割当て変更・新規設定、コンテンツアシスト機能の確認・設定【macOS版】
Eclipseでよく使うショートカットや設定済みのショートカットキー一覧の確認方法、ショートカットキーの割当て変更や新規割り当ての設定方法、例えばJavaエディタで自動補完機能のショートカットキー割当てを変更して有効にする方法などを説明しています。
H2はJava上で動作するDBです。Spring Boot2でH2を利用する際の設定や使い方について、入門者・初心者にもわかりやすいように説明していきます。
Javaプログラミングの入門レベルから、Javaプログラマとしてさらにスキルアップするために必要な事などについて書いています。