Modelでもいいが、あえてModelAndViewを使う
public String index(Model model) { return "/index.html"; }
public ModelAndView index(ModelAndView mav) { mav.setViewName("/index.html"); return mav; }
このように2つの書き方があるが、あえて後者を選んでいます。
なぜ後者を選ぶか
戻り値にModelがある
戻り値にModelがあるのが違い。
Modelに対して何かを行いたい時、
引数に取ったModelに対して何かをするのではなく、
戻り値に返すModelを目的のものに変える
という視点に変わります。
Modelに渡すものが正しいModelになるようになれば良いので、
その過程でModelが破棄されようが、最終的に渡されるModelAndViewが正しければよくなります