Spring Bootをまるっと習得!【Spring Boot 3 ではじめるWebアプリケーション開発入門】受講体験記

はじめに
こんにちは。
SB C&Sの佐藤です。
本ブログでは先日参加させていただいた、株式会社カサレアル様主催の「[オンライン開催]Spring Boot 3 ではじめるWebアプリケーション開発入門」の概要や学習内容、感想をまとめさせていただきます!
概要
このオンライン研修は、最新のSpring Boot 3を使用してWebアプリケーションの開発の基本を学ぶことを目的としており、初心者から中級者まで幅広い層の参加者に向けた内容となっております。
研修では、Spring Bootの概要や主要な機能を解説し、実際のコードを用いて基本的なWebアプリケーションの作成方法を段階的に学びました。また、Spring Bootの設定、依存関係の管理、データベースとの接続方法など、実践的なスキルもカバーされました。またメリットだけでなく、デメリットも学習内容に含まれていることが特徴です。
受講者がコードを修正しアプリケーションを実行するようなハンズオンも行われますが、修正箇所はTODOコメントで明記されていたり、講師の方が修正内容を1つずつ丁寧に解説してくれたりするため、コーディングに自身のない方でも取り組みやすい環境が整えられています。質問時間も適宜用意されているため、ある程度の開発経験がれば問題なく参加でき、内容をしっかり理解できると感じました。
開催期間は3日間で、各日程9:30~17:00(うち昼休憩1時間)のオンライン開催となっています。もちろん、休憩も適宜行われます。
カサレアルではこの研修以外にもSpring Frameworkに関連した研修を様々なカットで多数用意しており、一例として以下のような研修がございます。
・Spring BootでRESTful Web Serviceの構築方法を学ぶ
・Spring for GraphQLによるGraphQLアプリケーションの構築方法を学ぶ
・Spring Boot テスト でテスト自動化を学ぶ
初級編から応用まで、自身のスキルレベルや必要知識によって選べるのが良いですね!
またコースによってはオフライン研修も用意されています。
学習内容
このコースは以下の12章で構成されております。※2024年11月現在
・Spring Framework/Spring Boot概要
まず初めに、Spring Framework / Spring Bootとは何なのか、それぞれどのようなメリット(デメリットまで!)が存在するのか、最近のアップデートの注目ポイント等、基礎的な部分をしっかりと学ぶことができます。
実際の開発ではどうしても疎かになってしまいがちな部分ですが、本質の理解のために大変重要なポイントを学ぶことができる章となっております。
・超速習DIコンテナ
Spring Frameworkの根幹であるDIコンテナについて、1章丸ごと使用し解説を行います。
概要はもちろん、依存ライブラリの定義から各種クラス作成、DIコンテナの作成といったように順を踏んで実装の説明とハンズオンも行います。途中でクラスの役割に関する説明も丁寧に挟まれており、ただ手を動かすだけでなく「理解しながら進める」方式になっているのが素晴らしいです。
・Webアプリケーション概要
Webアプリケーションとブラウザ間でどのような方法でやり取りが行われているかが解説されます。ただアプリケーション作成の解説が行われるだけでなく、裏の部分までしっかり理解することができる内容となっています。
主にHTTP (リクエスト/レスポンス)について学ぶことができ、Spring Frameworkに捕らわれない、Webアプリケーション作成者には学習必須な内容です。
・Spring MVCとThymeleafでHello World
Spring MVCのアーキテクチャーについての解説から、Thymeleafを使用して実際に動くアプリケーションの作成ハンズオンまで行われる章となっています。ハンズオンではコードの修正のみでなく、実際に組み込みサーバーを使用してアプリケーションを動作させます。Spring Initializrの使用方法についても解説されるため、Hello Worldに必要な情報をまとめて学習できる章となっています。
・Bean Validationによる入力検証
この章ではバリデーションチェックをBean Validationを使用して実装する方法を習得可能です。
こちらのセッションでも記述方法はもちろん、各種パラメータについても細かく解説が行われ、「似たようで微妙に異なる」パラメータ等についても説明していただけます。こういったものは感覚値のみで記憶するとバグにも繋がる内容なので、しっかり履修/復習したいですよね。
また単純なバリデーションチェックのみではなく@AssertTrueを使用した相関バリデーションについても学習可能なため、実践での使用に近い技術を学ぶことが可能です。
・永続化層 Spring Data JPA
ここからはさらにSpring Frameworkを深堀っていく内容として、永続化層について、そしてデータベース接続についてしっかり学ぶことが可能です。永続化層についてはSpring Frameworkに限らずJavaで使用される方式ですので、学び直しにも最適です。
仕組みはもちろん各クラスやプロパティの詳細、実装方法まで学ぶことができるため、実際の開発でも役立つ知識を多数得られます。
・もっと Spring Data JPA
ひとつ前の章からの進化として、ページネーション/列ソートを利用した検索、命名規則ベースのメソッド名を利用しての条件検索/削除といった踏み込んだ処理を学ぶことができます。基礎だけではなくこういった実務で使用する応用まで学べるという点は嬉しいですね。
そのほかこの章では複雑なクエリについても学ぶことが可能です。
・ビジネスロジック層
ビジネスロジック層について、そして永続層との関係について学習しトランザクションについても学ぶことになります。
特にトランザクションについては図解を含めしっかり説明が行われるため、トランザクションについてあやふやだったり、裏でどんな動きをしているか分からないという方にもおすすめです。SQLの更新タイミングについてもしっかり解説されます。
・プレゼンテーション層
続いてプレゼンテーション層について学びます。そしてここまでの総括として3つの層の連結についても学びます。最終的には社員情報を管理(一覧表示、新規追加、更新、削除)するWebアプリケーションを実装します。
ここまでくるとかなり本格的なアプリケーションになり、サンプルコードもかなりの量になります(コード量は多いですが、ハンズオンで修正する部分は明記されている+修正不要のクラスについても説明してくださるので全容を掴めます!)。コードはダウンロードすれば研修後にも確認可能なため、ぜひ細かい部分まで見てみてください。
・例外処理 アプリケーション例外とエラーページ
Spring Framework独特の機能であるWhitelabel Error Pageについて、問題点と対処方法を学べる章となっております。ハンズオンでは自作エラーハンドルやエラーページの作成といった実装を行います。
ここまでに作成したWebアプリケーションの問題点を洗い出し、その問題点について1つずつ解決のためのエラーを実装していくので、実践でも生かせる具体的な処理を学ぶことができます。
・セッション管理
リクエストを跨ぎ、複数ページ間で情報を共有できるようにするセッション管理について学びます。
セッション管理も「言葉ではわかっている」「実装はできる(できている)がコードの詳細な動作までは分かっていない」ということが多くあると思います。本章を学んだあとであれば、こういった疑問も解決可能です。
有効期限の設定やURL Rewritingといった機能についても学ぶことができます。
・ファイルアップロード
この章ではファイル操作を実装するうえで必須となるMIMEタイプやマルチパートタイプの概要を学び、ファイルアップロード機能を持つWebアプリケーションについての実装を習得できます。
こちらの章もコーディング方法やパラメータ詳細についての解説はもちろん、HTTPリクエストの中身も確認するような内容で学習が進むため、処理の中身をしっかりと自身の知識にすることが可能です。
感想とまとめ
ここからは実際に受講してみて感じた点を述べていきたいと思います。
総括すると「JavaやSpring Frameworkに関わる(興味がある)エンジニアであれば絶対におすすめ!」となります。既に詳細部分で絶賛している内容も含まれておりますが、ここまで言い切る理由は以下の通りです。
1.講師の方の知識が豊富
ペーパーを読むだけでなく、補足として解説してくださる内容が有益!コーディングに関する内容もさることながら、Spring Frameworkライブラリの処理の中身についての説明が入ったりと、一般的な研修ではなかなか聞くことができない内容がさらりと挟まれます。
「(Spring Frameworkの)ソースを読んだ」という発言からもただ者でないことが伺えますので、是非一つ一つの発言に注目してみてください。
2.ただのコーディング知識に留まらない解説
・歴史や背景の解説
「なぜそうなったのか」といった内容まで触れた内容になっております。こういった内容は実務で調べることは少ないと思いますが、過去の経緯を知ることでより理解を深めることができます。いつか披露したい知識ですね。
・最新バージョンで追加された機能の解説
研修中、2024年11月時点で最新であるSpring Boot3系の機能についてGraalVM ネイティブイメージのサポート、仮想スレッドのサポート等の解説が行われます。
リリースノートやアップデート内容を自分で確認するのは骨が折れます。そんな中で研修中にピックアップされたおすすめ機能の概要を知れるのは嬉しい点はないでしょうか。
・作成したコードが「なぜそう動くのか」まで理解できる
サーバーサイドの処理の図解やログ解析による動作確認、HTTPレスポンスの解析まで行い、処理の裏側の説明が行われます。知りたくてもどこをどう確認すればよいか分からないという場合も多い部分ですので、是非研修で得ていただきたい知識になります。今後の開発時にも役立ちますね。
・使えるTips盛りだくさん
研修資料には以下のようなTipsが盛りだくさんに紹介されています。もちろん口頭での説明も行われますが、後ほど見直したい場合も記載があるので助かります。こういったTipsが散りばめられていることで、研修資料が読み物としてとても面白く仕上がっていると感じました。
個人的にはやはり「ちょっとした追加事項や発展的な情報」が内容的にも興味深く、資料内で見つけると思わず先に目を通してしまうほどでした。
・質問しやすい環境+質問からも得られる知見
オンライン研修の場合、どうしてもタイミングを掴めず質問しにくいという場合も多いと思います。ですがこの研修では質問の時間が休憩前後といったタイミングの他、細かい区切りで実施されるため、一度逃しても次の機会に質問することもできますし、一回の質問時間中も講師の方がたっぷり時間を持って待って下さるので、自分の考えをまとめたうえで質問することが可能です。
そしてそういった環境のおかげか質問も盛んに飛び交い、内容としても研修内容の確認のみでなく、さらに一歩踏み込んだような内容や、業務で実際に使用する際に関するような質問も行われ、聞いているだけでも「確かに気になる!」となる質問が多数あり勉強になりました。
参加される場合は事前に気になっていることや悩んでいることをまとめておくと、素敵な回答を得られるかもしれませんね!
ここまでの内容で分かるように、研修を受けた後が「Spring Frameworkでコーディングが出来るようになった」に留まらず、根本理解や周辺知識の習得と、エンジニアとしての力量が幅広く強化されるため、その後個人学習時や実務、もしくは後輩指導を行う際にも自信を持って取り組めるようになるような研修でした。
今時点で「コーディングは出来る」というエンジニアの方でも、この研修を受けることで普段の業務では踏み込めない「なぜそうするのか」「なぜそうなるのか」といった部分まで理解することができますし、最新情報を得ることも可能なため、大変おすすめです。
そのため「すべてのエンジニアの学びと成長に繋がる研修」であったと感じました。
気になった皆さん、是非カサレアルさんの研修に参加してみてください!
またこのブログでは今後もSpring Frameworkに関する研修に参加した感想をお送りする予定ですので、ご期待ください。
この記事の著者:佐藤梨花
勤怠管理システムの開発(使用言語:Java)に約8年間従事。
現在はエンジニア時の経験を活かしたDevOpsやDX推進のプリセールスとして業務に精励しています。

DevOps Hubのアカウントをフォローして
更新情報を受け取る
-
Like on Facebook
-
Like on Feedly