開発者ドキュメント

Springバッチチュートリアル


スプリングバッチモデル、幅= 600、高さ= 200

__フォトクレジット:


Spring Batch

はバッチ処理用のオープンソースのフレームワークで、一連のジョブを実行します。

Spring Batchは、大量のデータを処理するために、リソース、トランザクション管理、ジョブ処理統計、ジョブ再開、およびパーティション化技術を読み書きするためのクラスおよびAPIを提供します。

次のSpringバッチチュートリアルとサンプルは、次のものでテストされています。

  1. Spring Core 3.2.2.RELEASE

  2. Spring Batch 2.2.0.RELEASE


P.S Spring BatchはSpring Portfolioの一部です.

1.クイックガイド

単純なバッチジョブで、コマンドラインで実行します。

Hello Worldの例]+ Springバッチについての簡単な説明と、CSVファイルからデータを読み取り、処理してXMLファイル(JAXB)に書き込むジョブを作成します。

  • link://spring-batch/spring-batch-tasklet-example/[Spring Batch

TaskletStep例]バッチジョブの完了後にリソースをクリーンアップする例。

  • リンク://spring-batch/run-spring-batch-job-with-commandlinejobrunner/[Run

CommandLineJobRunnerによるSpringバッチジョブ]Springバッチジョブをコマンドラインで実行します。

2. ItemReader、ItemProcessor、ItemWriter

Springバッチクラスを使用してリソース(csv、xml、データベース)を読み書きする方法を示す例はほとんどありません。

  • link://spring-batch/spring-batch-example-csv-file-to-database/[Spring

バッチの例 – CSVファイルからMySQLデータベース]+ CSVファイルからデータを読み取り、それをMySQLデータベースに書き込むと、ジョブメタがデータベースに格納されます。

  • link://spring-batch/spring-batch-example-xml-file-to-database/[Spring

バッチの例 – MongoDBデータベースへのXMLファイル]+ XMLファイル(XStream)からデータを読み取り、それをnosqlデータベースMongoDBに書き込み、バッチジョブのユニットテストも行います。

  • link://spring-batch/spring-batch-example-xml-file-to-csv-file/[Spring

バッチの例 – CSVファイルへのXMLファイル]+ XMLファイル(JAXB2)からデータを読み取り、ItemProcessorで処理し、CSVファイルに書き込みます。また、JAXB2を介してDateデータ型とBigDecimalデータ型をオブジェクト間で変換する方法も示します。

  • link://spring-batch/spring-batch-example-mysql-database-to-xml/[Spring

バッチの例 – MySQLデータベースからXMLへ]MySQLデータベースからデータを読み取り、それをXMLファイル(XStream)に書き込んでください。また、jobParametersを使用します。

  • link://spring-batch/spring-batch-multiresourceitemreader-example/[Spring

バッチMultiResourceItemReaderの例]複数のファイルを読み込むためのItemReader。

スケジューラ

スケジューラーフレームワークでバッチジョブを実行します。

  • リンク://spring-batch/spring-batch-and-spring-taskscheduler-example/[Spring

Batch Spring TaskSchedulerの例]5秒ごとにバッチジョブを実行するようにスケジュールするSpring TaskScheduler。

  • link://spring-batch/spring-batch-and-quartz-scheduler-example/[Spring

バッチクォーツスケジューラの例]クォーツを統合して、バッチジョブが10秒ごとに実行されるようにスケジュールを設定します。

ユニットテスト

  • link://spring-batch/spring-batch-unit-test-example/[Springバッチユニット

テスト例]+バッチジョブまたは個々のステップを単体テストする方法。

5.アドバンス

  • link://spring-batch/spring-batch-partitioning-example/[Spring Batch

partitioner example]データの範囲を処理する複数のスレッド。

  • link://spring-batch/spring-batch-listeners-example/[Spring Batch

リスナーの例]+バッチ・ジョブのステップ実行をインターセプトする例

6.春バッチFAQ

Spring Batchでのよくある質問と回答

  • link://spring-batch/how-to-convert-date-in-beanwrapperfieldsetmapper/[どのようにして

BeanWrapperFieldSetMapperで日付を変換する]** link://spring-batch/spring-batch-a-job-instance-already-exist-for-parameters/[Spring

バッチ:ジョブインスタンスがすでに存在し、
パラメータ= \ {}]** link://spring-batch/spring-batch-metadata-tables-are-not-created-自動的に/[Spring

バッチメタデータテーブルは自動的に作成されませんか?]** リンク://spring-batch/nosuchbeandefinitionexception-no-qualifying-bean-of-type-joblaunchertestutils/[NoSuchBeanDefinitionException

: No qualifying bean of type JobLauncherTestUtils]** link://spring-batch/jobparameters-cannot-be-found-on-object-of-type-beanexpressioncontext/[jobParameters

BeanExpressionContext型のオブジェクト上に見つかりません]

モバイルバージョンを終了