
本トレーニングの構成を理解することができます。
本レクチャーでは、トレーニングを受講するにあたって、必要となる基本知識を概要レベルで説明するものです。(理解されている方は本パートを適宜飛ばしていただいて構いません。)
Spring Boot とは
必要知識速習① Maven (超概要)
必要知識速習② Java アノテーション 「@」(超概要)
必要知識速習③ Dependency Injection (超概要)
本トレーニングで習得する「Spring Batch」に関して概要を理解することができます。
本トレーニングで使用するPleiades All in Oneをご使用のPCにインストールする事ができます。
本トレーニングではMySQLを利用します。本レクチャーでは、MySQLのインストールを説明します。
Spring スターター・プロジェクト (Spring Initializr)について理解することができます。
また、 自動生成されるひな形・構成を理解することができます。
Spring Batchでは、@Configuration を付与した設定用のコンフィグクラスを作成します。バッチ処理の全体構成・設定を記述します。
Tasklet はStep 内で実行される処理を記述するためのインターフェースで、execute() メソッドを実装することで、具体的な処理内容を記述します。基本的な処理単位となります。Taskletを習得することができます。
Job は、バッチ処理の単位(顧客データ取込、月次レポート作成、等のバッチとしての概念)を表し、複数のStep をまとめて実行することができます。ジョブには、実行するステップの情報・バッチ処理にパラメータを設定した場合のパラメータチェックを設定することができます。Stepは、Job 内で実行される処理の単位を表します。JobとStepを習得することができます。
Eclipse上でSpringダッシュボードを活用して、実行・デバッグする方法を学びます。また、実行時にはSpring Batchの内部機能として、ジョブの実行状態・履歴等の情報がデータベースに格納されます。ジョブの管理・監視に重要な役割を持つテーブルの構造(メタデータスキーマ)について説明を補足します。
ジョブ実行時にパラメータを指定し、Taskletにて@Valueアノテーションを使用して、Jobパラメータを取得する方法を習得します。
ジョブに渡されたパラメータが不正な場合、ジョブが失敗したり、予期せぬ動作を引き起こしたりする可能性があるため、Jobパラメータの検証は重要です。Jobパラメータ(引数)の検証方法を学びます。
複数のTasklet間で値を受け渡したい場合は、JobExecutionContextに値を保存し、別のTaskletで取得します。本レクチャーでは、Job実行中に共有されるデータストアである、JobExecutionContextを学びます。
Lombokとは、Javaの冗⾧なコードを簡潔にしてくれる事で、生産性を高め、可読性を高めるオープンソースのライブラリです。本レクチャーでは、@Slf4jのアノテーションを利用し、ログ出力の実装を行います。また、logback.xmlを使用したSLF4Jロガーの設定を行います。
リリース資源としてJarの作成を行います。Mavenを用いてJarを作成します。作成したJarをWindowsのbatファイルから実行を行うことで実行モジュールとしての理解を深めます。
Chunk とは、ItemReader、ItemProcessor、ItemWriter を組み合わせて、データ処理を行う単位です。ItemReader からデータを読み込み、ItemProcessor で処理し、ItemWriter で書き込みます。
本レクチャーではChunkにおけるItemReaderの実装方法を学びます。
ItemProcessorは、ItemReaderから受け取ったデータ項目を処理し、ItemWriterに渡します。本レクチャーではItemProcessorの作成方法を学びます。
ItemWriterは、ItemProcessorから受け取った処理結果を書き込みます。本レクチャーではItemWriterの作成方法を学びます。
作成した、ItemReader、ItemProcessor、ItemWriterをSpring Batch 設定クラスに定義します。また、Chunkを指定したStepを定義し、JobにてStepを指定します。その後、バッチを実行し、chunkの挙動を確認することで理解を深めることができます。
Spring Batch のEvent Listenerは、Spring BatchのJobやStepの実行中に特定のイベントが発生した時に処理を実行するための仕組みです。イベントに対して、処理の状況をログに出力したり、メールを送信する等の処理を行いたい場合に利用します。本レクチャーでは、JobExecutionListenerの実装を通じて、イベントの仕組みを学びます。
今までのレクチャーで、Tasklet / Chunkの演習を通じて、Spring Batchの基本を習得することができました。次からはChunkをベースに実践的な形として、CSVファイルを読込む方法、データベースへの登録方法を学びます。本レクチャーでは後続の事前準備を実施します。
ここでは、chunkにおいてデータを受け渡していくために必要となる、データを保持するクラスを作成します。また、Lombokの機能を利用することで簡単に実装できる点を学びます。
FlatFileItemReaderを利用したCSVの読込方法を習得します
ItemProcessorを実装した、EmpItemProcessorクラスの作成を行います。新しいポイントがほぼ無いため、実機演習のみのレクチャーとなります。
JdbcBatchItemWriterを利用したDBへの書込方法を習得します。
Step・Jobを作成し、バッチを実行することでバッチの動作を理解することができます。
Spring BootではRest APIを定義し、外部からパラメータを指定の上Spring Batchを実行する、といった処理を簡単に実装することができます。実装方法をご紹介いたします。
バックエンドの技術スタックとしてJava、特にSpringを利用することが非常に多くなっています。
このコースでは、Javaによるバッチ処理開発のデファクトスタンダードになりつつある、「Spring Batch」の基本機能を丁寧に解説します。
このような方にお勧めです
バッチ処理の基礎を学びたい
データ処理のスキルアップを目指したい
Spring Batchを使って実用的なバッチアプリケーションを開発したい
業務上 Spring Batchが必要となったため効率的に学びたい
Spring Batchの基本機能を習得したい
Spring Batchを採用するためにPoCをしたい
技術戦略としてSpring Batchを考えているがどのようなものかを理解したい
→ 学習を始めようとしている初級エンジニアや、ITコンサルタントの方で迅速にキャッチアップしたい方、来るデジタルトランスフォーメーションに向けて、技術の観点でキャッチアップする必要に迫られている企画・マネージメントの方にお勧めできる内容です。
※上記目的により、中~上級のエンジニアの方向けではございません。
本トレーニングでは以下セクションで構成しています。
Spring Batchの基本的な内容を網羅しつつ、実践的な内容にも触れてまいります。
セクション1:トレーニングの説明と概要理解
セクション2:【事前準備】トレーニングのための各種セットアップ
セクション3: 【基本編】Spring Batch の基本を理解する
セクション4: 【実践編】CSVを読込み、DBへ登録するバッチの作成を行う
セクション5: ※ご紹介セクション※Rest APIからSpring Batchを実行する