spring

プログラミング

parallelStream()を使用すると@Transactionalが効かない

環境SpringBoot3.1PostgreSQL16問題の概要CSVを読み込んでDBに登録する、という処理を実装したのですがCSVが数十万件とかなり膨大だったのでシングルスレッドでは時間がかかり過ぎました。そのためマルチで動かそうと思いl...
プログラミング

SpringBoot3.1 ログにIPアドレスを出力する

環境SpringBoot3.1.1Java17IPAddressFilterこのコードは、IPアドレスをログに出力するためのカスタムフィルターを定義しています。IPAddressFilterクラスはOncePerRequestFilterを...
プログラミング

Springboot2.5から3.1に移行した時の簡易メモ

前作ったアプリがSpringBoot2.5で作っていて別アプリをSpringBoot3.1で作成しました。Tomcat9に入れてで起動すると上手く起動しなくて何でだと調べてみるとどうやらtomcat10じゃないとSpringBoot3.1は...
プログラミング

Spring Boot Mavenビルドでjar、warのファイル名を変更する(バージョンを削除)

SpringBootでプロジェクトを作成し、Mavenビルドでjarやwarを作成するとデフォルトではXXX-0.0.1-SNAPSHOT.warのようにpom.xmlに記載されているバージョンが付与されて作成されてしまいます。できれば成果...
プログラミング

Spring Boot ActuatorとGrafanaで雑にヘルスチェックしてみた

たまにアプリが落ちてしまうことがあったのでSpringBootActuatorを使って死活監視をかなり雑にしてみました。本来ならprometheusと連携した方がいい?ような気がしますがそれは別途試すとして、今回はGrafanaから直接Sp...
プログラミング

Spring JDBCTemplate#queryが@Deprecatedになっていた

個人で何か作る時は大体過去の自分のソースを参考にしながらコーディングしていくこともあるのですが、SQL実行時に使用していたquery()が@Deprecatedとなり非推奨になっていました。なので代わりとなるメソッドを探しました。環境現在S...
プログラミング

UnsatisfiedDependencyException: Error creating bean with name ‘XXX’

エラーの原因私の場合ですと、@PostConstructで初期化処理を行うメソッドでNullPointerExceptionが出ていました。ぬるぽ箇所はコンフィグからファイルパスを取得してあーだこーだする処理でしたが、開発環境(Window...
プログラミング

Spring Rest(MVC)でファイルダウンロード

SpringRestでファイルのダウンロードをします。Restでもないか・・・。ファイル読み込みバイト配列に変換レスポンスのOutputStreamに設定ContentLengthとかは設定しましょうね。残り何%とかでないのでね。packa...
プログラミング

SpringFramework 例外処理のハンドリングと共通化

コントローラクラスの例外処理を共通化します。例外のハンドルは@ExceptionHandlerを付与したメソッドで行います。これを使用することでtry-catchも少しだけ減らすことができ、コントローラクラスに複数のAPIを用意した場合にエ...
プログラミング

Spring4でDB接続してSQL実行(JDBCTemplate)

SpringFramework4でDB接続&SQL実行を行います。Springって色々やり方あるし難しいです・・・。自分なりのやり方を見つけてください。今までの記事SpringでRestfulなプロジェクトの作り方SpringRest+HT...