3-4 ユーザー登録機能を作ろう

この節では、前節で登場したSimpleFormControllerクラスについて詳しく解説されています。GETリクエスト/POSTリクエストそれぞれの処理フローと、このクラスが提供しているコールバックメソッドの役割について述べられているP268付近の説明は、前節に取り組みながら感じた疑問への答えが書かれていて、非常にわかりやすいと思いました。
ただ、コマンドオブジェクトの生成タイミングについては、いまいち理解が曖昧のままです。formBackingObjectメソッドをオーバーライドすると画面表示用のコマンドをカスタマイズできると書いてあり、サンプルソースでも、ここでコマンドオブジェクトを生成しています。このメソッドは、POSTリクエストの場合も通るわけで、その際にもコマンドオブジェクトが生成されます。その後、onSubmitメソッドの引数にCommandが渡されます。この渡されたオブジェクトは、formBackingObjectで生成されたオブジェクトと同一なのですが、じゃあ、formBackingObjectメソッドでコマンドオブジェクトを生成しなかった場合、onSumbitに渡されるコマンドオブジェクトはいつ生成されるのか、という疑問を持ちました。おそらく、送信された入力フォームのデータをバインドする際に、コマンドオブジェクトがなければ生成する、という流れになっているのではないかと思われますが、そこまでソースを追っていないのでわかりません。
いずれにせよ、Springが自動的にやってくれている部分はどうなっているのか、ということを解析するのは非常に良い勉強になるのではと感じていますので、この本を一読し終えたら、それに取りかかってみたいと思っています。