java

SpringBoot 2.3以降でjavax.validationのimportができない

Spring解体新書をベースにSpringBootに挑戦中

Spring解体新書

私はSIerにいるのにJavaを使ったことがない。

ということで、Spring解体新書という書籍に沿ってSpring BootでWebアプリケーション開発のさわりをやってみる。

実行環境

この書籍ではEclipseを使っているが、私は前回の記事Javaを知らない俺がモダンなJava開発をめざすで用意した環境で実施することにした。

具体的には、以下。

1章〜5章

環境構築以外は特に問題なく、実施していくだけ。

第6章

気になったところを記載していく。

jQueryとbootstrapのバージョンは合わせる

Java以外の部分は面倒かつ非本質的と感じ、HTMLファイルはサンプルコードコピペで済ませていたので、あとになって気付いた。

HTMLのheaderにおいてバージョン固定でjQuery等を呼び出しているので、これらのライブラリは書籍と同じ古いバージョンを入れておいたほうがよさそう。

誤字

SignupController.java内のMarriageMarrigeの誤字あり。同様にしてsignup.htmlにも誤字あり。

javax.validationがimportできない

ちょっと困ったところ。

どうもSpring Bootが2.3以降のバージョンだとjavax.validationが含まれていないらしい(公式リリースノート)。

対策として、build.gradledependenciesに以下を追記する。

implementation 'org.springframework.boot:spring-boot-starter-validation'

Mavenの場合は以下。

<dependency>
  <groupId>org.springframework.boot</groupId>
  <artifactId>spring-boot-starter-validation</artifactId>
</dependency>

また、追記したあとはReloadが必要なため、

View > Tool Windows > Gradle

で開いた画面で更新ボタン(Reload All Gradle Projects)を押下する。

img

ここまで実施すると無事にimportが通るようになる。

おわりに

また何か書籍通りにいかないポイントがあれば記事にしようと思う。