Spring

Spring Bootで簡単なコマンドラインアプリケーションを作成してみる

Spring Bootで簡単なコマンドラインアプリケーションを作成したときのメモを残しておきます。Springアプリケーションの起動時に1度だけ処理を実行したいとき(バッチ処理)や、コマンドライン引数を指定して処理を実行したいときに使えます。

コマンドラインアプリケーションを作成する方法

CommandLineRunnerインタフェースを実装したクラスを作成し、runメソッドをオーバーライドし、その中に処理を書いてやればOKです。あとは、クラスに@Componentを付与し、コンポーネントスキャンの対象にしてやれば、Springアプリケーション起動時にrunメソッドが実行されます。

試しに、Springアプリケーションを起動してみます。

runメソッドが実行されていますね。

コマンドライン引数を指定する場合

コマンドライン引数を指定して起動することもできます。

試しに、コマンドライン引数を指定してSpringアプリケーションを起動してみます。

引数で指定した「hoge foo bar」がきちんと処理されていますね。

CommandLineRunnerインタフェースを実装したクラスを複数作成する場合

クラスに@Orderを付与することで、実行順序を指定できます。A処理→B処理→C処理のように実行順序を制御したいときに使えそうです。

試しに、Springアプリケーションを起動してみます。

指定した順序通りに処理が実行されていますね。

まとめ

Spring Bootでコマンドラインアプリケーションを作成する手順をまとめておきます。

参考リンク

-Spring

© 2024 Reasonable Code