※当サイトの記事には、広告・プロモーションが含まれます。

JavaでCSVファイルの1行毎をDTOに変換して、CSVファイルのバリデーションしたい

gigazine.net

jp.reuters.com

www.nic.ad.jp

⇧ う~む、ネットワークが繋がりにくくなるようなことが起きないようにしてくれれば良いけども...

JavaCSVファイルの1行毎をDTOに変換して、CSVファイルのバリデーションしたい

とりあえず、CSVファイルの1行毎をDTO(Data Transfer Object)に変換して、DTO(Data Transfer Object)に付与したアノテーションでバリデーションしたいなと。

で、Spring Bootとか使っているのであれば、

nainaistar.hatenablog.com

spring.pleiades.io

⇧ 上記サイト様によりますと、

グループID アーティファクトID
com.fasterxml.jackson.dataformat jackson-dataformat-csv

⇧ の依存関係を、Maven、ないしは、Gradleのようなビルドツールで依存関係に追加してあげれば良いらしい。

とりあえず、

spring.pleiades.io

スターター

スターターは、アプリケーションに含めることができる便利な依存関係記述子のセットです。必要なすべての Spring および関連テクノロジーのワンストップショップを利用して、サンプルコードを探したり、依存関係記述子のコピーアンドペーストを行う必要はありません。例: データベースアクセスに Spring と JPA の使用を開始する場合は、プロジェクトに spring-boot-starter-data-jpa 依存関係を含めます。

https://spring.pleiades.io/spring-boot/reference/using/build-systems.html#using.build-systems.starters

スターターには、プロジェクトを迅速に立ち上げて実行するために必要な多くの依存関係と、管理された推移的な依存関係のサポートされたセットが含まれています。

https://spring.pleiades.io/spring-boot/reference/using/build-systems.html#using.build-systems.starters

⇧ とあるのだけど、Spring Frameworkがどこまで良しなに対応してくれているのかが分かり辛いんよね...

つまり、必要な依存関係が分かり辛いんだわ...

ちなみに、

ts0818.hatenablog.com

⇧ バリデーションについては、Spring FrameworkJakarta EE(旧:Java EE)の機能の一部をデフォルトでサポートしてるらしいのだけど、

⇧ 上記サイト様によりますと、Jakarta EE(旧:Java EE)の仕様の内、緑色になっている部分がSpring Frameworkで取り込まれているってことになるんかね?

いまいち、

の使い分けが分からんけども、

penguinlabo.hatenablog.com

Hibernate Validatorは、Jakarta EE Validatorで不足しているバリデーション用のアノテーションが用意されてる感じらしい。

Hibernateについては、

hibernate.org

⇧とあるように、プロジェクトが分かれているので、

docs.spring.io

⇧ 依存関係も異なると。

そもそも、日本語対応のシステムにあるあるの文字列の問題をどうにかするには、

nainaistar.hatenablog.com

⇧ 独自にバリデーション用のアノテーションをカスタムで作成する必要があるっぽいので、Hibernate Validatorを導入しても対応しきれないと...

日本語だと、

traincat.net

⇧ 全角のみの判定とかも必要になるケースも出てきますからな...

毎度モヤモヤ感が半端ない…

今回はこのへんで。