2010-03-24 9 views
1

Y at-il un tutoriel qui va avec l'application PetClinic? J'ai essayé d'en trouver un, mais google ne m'aide pas aujourd'hui. Plus précisément, je ne comprends pas des choses comme:Spring MVC Web PetClinic Tutoriel?

@Autowired - qu'est-ce que cela signifie même?

@RequestMapping(method = RequestMethod.GET) 
public String setupForm(@RequestParam("petId") int petId, ModelMap model) { 
    Pet pet = this.clinic.loadPet(petId); 
    model.addAttribute("pet", pet); 
    return "petForm"; 
} 

Comment une requête peut-elle renvoyer uniquement une chaîne? Ne devrait-il pas avoir besoin de retourner une sorte de ModelAndView? Ou l'application redirige-t-elle en quelque sorte vers ce qui est retourné?

Beaucoup de concepts déroutants - s'il existe un tutoriel, ou une vidéo (comme Spring-Security), serait très utile. Merci.

Répondre

1

L'auto-injection est une injection de dépendance. Il crée des haricots pour vous et les définit.

Dans cet exemple, le contrôleur renvoie une chaîne correspondant au nom de la vue. Il est fondamentalement la même chose que

return new ModelAndView("petForm"); 

Il pourrait la carte à autre chose ou il pourrait être aussi simple que le retour petForm.jsp. Dépend du View Resolver.

+0

Ainsi, l'appel @Autowired définit-il un bean en fonction des variables POST/GET transmises? – wuntee

+0

aussi - ce qui est public String setupForm (@RequestParam ("petId") int petId, modèle ModelMap) comment ModelMap est-il défini? La méthode sera appelée sur n'importe quel GET, correct? – wuntee

+0

une dernière chose - lorsque vous renvoyez simplement la chaîne d'une vue et que le résolveur utilise un modèle Freemarker, y a-t-il des objets définis dans l'objet ModelAndView? – wuntee

0

Il retourne le nom exact de la vue, vous pouvez donc attendre à ce que vous rediriger vers la vue située à /WEB-INF/jsp/petForm.jsp qui aura accès au modèle animal