@ModelAttribute を利用したリクエストパラメータをオブジェクトにバインドする処理ってどうなってるんだっけ、と調べることがあったので結果をまとめておく。 あまりドキュメントにも記載がないことが多く、ソースコードを読んだ結果をまとめている。 なお、@RequestParam でもリクエストパラメータを取得できるが、今回は対象外。 環境 Spring Boot 2.1.6.RELEASE @ModelAttribute が利用できる箇所 メソッド Handler メソッドの引数 実は、Handler メソッドの引数には @ModelAttribute 付与しなくてもよかったりする。 デフォルトの挙動では、Handler メソッドの引数に BeanUtils.isSimpleProperty で false と判定されるクラスを指定すると、@ModelAttribute が付与された