Oi Anderson, tudo bom?
Citando o capitulo 2:
O SpringMVC fará o bind dos names em nosso formulário com os atributos do Produto de agora em diante. Sendo assim, vamos modificar o ProdutosController para recebermos um objeto produto agora.
O método gravar deve ficar assim:
@RequestMapping("/produtos")
public String gravar(Produto produto){
System.out.println(produto);
return "/produtos/ok";
}
Ou seja, o processo de bind do controller é quem permite essa funcionalidade. Por baixo dos panos, o Spring vai pegar os names dos forms e criar um produto definindo os valores seguindo o padrão de nomenclatura dos métodos =)
Abraço!