Extrait du cours et tutoriel Spring introduction a Spring MVC
Principe général
Le cœur de l’environnement Spring est un « conteneur léger »
Un conteneur léger sert à contenir un ensemble d’objets instanciés et initialisés, formant un contexte initial (ou une hiérarchie de contextes) pour une application.
Ce contexte initial est souvent construit à partir d’une description externe (xml) décrivant les objets à créer, les valeurs initiales et les dépendances entre objets.
Les dépendances (liens) entre objets sont automatiquement créées à partir de la description (on parle d’injection de dépendances ) et non par les objets eux-mêmes par programmation.
C’est le Design Pattern de l’Inversion du Contrôle : IoCg
Exemple :
<beans>
<bean id= » user » class= » Personne « >
<bean id= user class= Personne >
<property name= » nom » value= » jean « />
<property name= » car » ref= « vehicule « />
</bean></bean>
<bean id= » vehicule » class= » Voi ture « >
<property name= » nom » value= » megane « />
</bean></bean>
</beans>
Contrôlleur
Controller Spring 3
– Spring 3 simplifie la création des contrôleurs:
– annotations @Controller et @RequestMapping
– Pas d’interface à implémenter
– Le contrôleur le plus simple:p p
– une classe annoté @Controller
– plus une méthode annoté @RequestMapping
Cette méthode reçoit la requête, doit la traiter (c’est à dire fabriquer les Cette méthode reçoit la requête, doit la traiter (cest à dire fabriquer les données de réponse grâce à la couche métier) et retourner un objet ModelAndView
– L’URL associée est spécifié dans le paramètre
@Controller
public class HelloWorldController {
@
RequestMapping(« /helloWorld »)qppg( )
public ModelAndView helloWorld() {
ModelAndView mav = new ModelAndView();
mav.setViewName(« helloWorld »);
mav.addObject(« date », new Date());j , ())
return mav;
}
}
Exemple: 1 – Une couche métier – Class Group
public class Groupe {
private ArrayList<Object> membres;
public ArrayList<Object> getMembres() {
return membres;
public void setMembres(ArrayList<Object> membres) {
this.membres = membres;
public void addMembre (String membre) {
if (membres.contains(membre))
h bi()throw new MembrePresentException();
membres.add(membre);
}
}
On peut sortir le mapping des vues du fichier de configuration
<!– un autre resolveur de vues –>
<bean class= »org.springframework.web.servlet.view.XmlViewResolver »>
<property name= »location »>
<value>/WEB-INF/vues/vues xml</value><value>/WEB INF/vues/vues.xml</value>
</property>
</bean>
<?xml version= »1.0″ encoding= »ISO_8859-1″?>
<!DOCTYPE beans SYSTEM « http://www.springframework.org/dtd/spring-beans.dtd »>
<beans
>
<bean id= »vuemembres » class= »org.springframework.web.servlet.view.JstlView »>
<property name= »url »>
<value>/WEB-INF/vues/vuemembres.jsp</value>
<
/property>/pp y
</bean>
</beans>
Formulaire Spring 3.X
Formulaire
– Met en œuvre:
– une page web (ex: jsp)
– un contrôleur avec jusque deux méthodes pour traiter les requêtes get et postles requêtes get et post
– un objet command pour passer les données entre le formulaire et le contrôleurformulaire et le contrôleur
– Une méthode pour initialiser l’objet command
……..
Cours et tutoriel Spring introduction a Spring MVC (2289 KO) (Cours PDF)