本ページはプロモーションが含まれています。

スポンサーリンク

SpringBoot開発時のエラー・例外

起動時(gradle bootRunした時)のエラー・例外

Noエラー・例外名発生理由と解決策
1Failed to configure a DataSource発生理由:データベース接続先が設定されていない。
解決策:データベースを始動する。application.propertiesにデータベース接続先を記述する。
2BeanCreationException: Error creating bean with name発生理由:同じURLに対して、複数のControllerが割り当てられた。
解決策:@RequestMapping/@GetMapping/@PostMappingの値に重複がないか確認する。
3javax.servlet.ServletException: No adapter for handler発生理由:コントローラー周りのコーディングミスの可能性が高い。
解決策:コントローラーに付与しているアノテーションが正しいか確認する。
4java.sql.SQLException: The server time zone value 'xxx' is unrecognized or represents more than one time zone.発生理由:
解決策:
5APPLICATION FAILED TO START Web server failed to start. Port 8080 was already in use.発生理由:8080ポートで起動しようとしたが、既に8080が使われていた。
解決策:別のポート番号を指定して起動する。
6CommunicationsException: Communications link failure発生理由:JDBCドライバがデータベースに接続できなかった。
解決策:データベースを起動する。
7Parameter 0 of constructor in Xxx required a bean of type 'YYY' that could not be found.発生理由:コンストラクタでセットするBeanが見つからなかった。
解決策:コンストラクタでセットするBeanクラスに@Service/@Componentなどを付与する。
8ConflictingBeanDefinitionException発生理由:重複するbean名があるため、起動させられません。
解決策:bean名が重複するController/Service/Repository などを見直し、重複を解消する。
9Ambiguous mapping. Cannot map 'xxxController' method発生理由:xxxControllerにおいて、同じURLに対して、複数のメソッドが割り当てられた。
解決策:xxxController内で@RequestMapping/@GetMapping/@PostMappingの値に重複がないか確認する。
SpringBootを起動したときのエラー・例外の一覧

コントローラー層のエラー・例外

Noエラー・例外名発生理由と解決策
1HttpMessageNotWritableException: No converter found for return value of type: class Xxx発生理由:レスポンスDTOのフィールドに対するGetterが存在しない。
解決策:レスポンスDTOの各フィールドにGetterが存在するか確認する。または、レスポンスDTOに1つ以上フィールドをセットする。
2No adapter for handler [XxxController]: The DispatcherServlet configuration needs to include a HandlerAdapter that supports this ServletException: No adapter for handler発生理由:リクエストURLに対するハンドラーメソッドが定義されていない。
解決策:@Controllerや@RequestMappingが適切に記述されているか確認する。
3javax.validation.UnexpectedTypeException: HV000030: No validator could be found for constraint 'javax.validation.constraints.NotBlank' validating type 'java.time.LocalDate'. Check configuration for 'birthday'発生理由:@NotBlankを付与したフィールドの型が、@NotBlankに対応していない。
解決策:
@NotBlankを付与したフィールドの型を変えるか、@NotNullでチェックする。
コントローラー層のエラー・例外の一覧

データ層(Repository/Dao)のエラー・例外

Noエラー・例外名発生理由と解決策
1java.sql.SQLIntegrityConstraintViolationException: Column 'xxxx' cannot be null発生理由:整合性制約 (外部キー、主キー、または一意キー) の違反が発生した
解決策:該当カラムの値をセットする。ヌルチェックする。
2
3
データ層(Repository/Dao)のエラー・例外の一覧

JUnitテスト実行時のエラー

Noエラー・例外名発生理由と解決策
1Cannot invoke "somefield.somemethod" because "this.somefield" is nullthis.somefieldにインスンタスがDIされていないため、テスト対象のメソッドが実行できない。
@SpringBootTestをテストクラスに付与することで、インスタンスがDIされる。
2Execution failed for task ':test'.
No tests found for given includes:
@Testを付与したメソッドがあるにも関わらず発生する場合、
「test { useJUnitPlatform() }」をbuild.gradleに記述する。

Thymeleaf関係のエラー

Noエラー・例外名発生理由と解決策
1TemplateInputException: Error resolving template [xxx], template might not exist or might not be accessible by any of the configured Template Resolversテンプレートが見つからない。
テンプレートのディレクトリを確認する。
2・java.lang.IllegalStateException: Neither BindingResult nor plain target object for bean name 'xxx' available as request attribute
・TemplateProcessingException
・ParseException
テンプレート内で参照されている${xxx}がmodelにセットされていない。

スポンサーリンク

投稿日:2021年2月8日 更新日:

Copyright© 【Spring Hack】 , 2024 All Rights Reserved Powered by AFFINGER5.