Java

プログラミング

Spring MVCでの@ValidatedとBindingResultの順序でハマった

@ValidatedとBindingResultではまったのでメモ。 実装と発生したエラー 画面からの入力にバリデーションかけたくて@Patternや@Sizeをモデルクラスに付与し、コントローラで@Validatedを指定してバリデーショ...
プログラミング

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

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

Eclipseでファイルを開きすぎると勝手に閉じてしまうのを止める方法

いつのころからかeclipseでファイルを開きすぎると勝手にファイルが閉じてしまうようになりました。まぁいいかと思って放置していたけど閉じられたせいで修正した内容を戻せなくなってうわあああってなったので設定探しました。 ウインドウ - 設定...
プログラミング

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

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

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

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

C# ジェネリックを使用したクラスのstatic変数の罠

C#の仕様で罠にはまったのでメモに残します。 環境 VisualStudio 2022 Version 17.3.0 Preview 5.0 .NET 6.0 どんな罠? Sample<T>クラスにstaticなintの変数、countがあ...
プログラミング

LinuxにOpen JDK(19)をインストール & alternativesでバージョン切り替え

java19がリリースされたのでとりあえずインストールしていきます。現状はjava17を使用していてJava19での動作確認はまだなのでとりあえずインストールだけ。 環境 CentOS7 JDKをダウンロード 基本的にはLinuxにOpen...
プログラミング

ZipOutputStreamの圧縮レベル毎のサイズと速度を計測

JavaでZipする際に setLevel() で設定した圧縮レベル毎に圧縮後のサイズ、速度を計測しました。どの圧縮レベル使おうかなーって方は参考までに。 環境 JDK17Windows 10 pro 圧縮ファイル 圧縮するファイルは画像数...
プログラミング

Java 指定フォルダのファイル一覧を取得

ファイル一覧取得方法 Fileクラス使った一覧取得は覚えているけどFilesはなんでかいつも忘れるのでメモ その1 Path path = Paths.get("D:\\path"); Files.list(path).forEach(f ...
プログラミング

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

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