Affichage des articles dont le libellé est spring. Afficher tous les articles
Affichage des articles dont le libellé est spring. Afficher tous les articles

Présentation de Spring Roo


Spring Roo est un outil de Développement Rapide d’Application (RAD). Grâce à quelques instructions en ligne de commande on peut créer une web application Spring, ajouter et configurer des composants à toutes les couches de l’architecture de l’application.


  • Pour la couche de persistance, Roo nous laisse choisir la base de données, l’ORM à utiliser (Hibernate par exemple).
  • Il crée et gère les objets entités grâce à JPA.
  • Pour la couche de présentation, on choisit entre une interface web basée sur Spring MVC, GWT ou JSF.
  • Roo gère automatiquement  le logging et les tests grâce à JUnit et Selenium.

Pourquoi choisir spring ?

Le framework Spring est une boite à outils très riche permettant de structurer, d'améliorer et de simplifier l'écriture d'application JavaEE. Spring est organisé en module.
C’est d’abord un conteneur léger implémentant le design pattern IoC. Il permet de gérer plus facilement les objets et leurs dépendances.  Cela assure une plus grande flexibilité, qui comme le veux le modèle d’architecture à n-couches, rend les composants facilement interchangeable.

Spring favorise aussi l'intégration avec de nombreux autres frameworks, notamment d
ans notre cas avec Hibernate.

Pour une application structurée en trois couches, Spring trouve naturellement sont utilité :
  • la couche présentation : Spring MVC
  • la couche service : Module de Transactions et de sécurité
  • la couche accès aux données : Intégration d’Hibernate



Spring est une solution mature et complète pour couvrir toute la pile applicative du front à la persistance en passant par la couche métier.



Une bonne chose : les annotations

L'absence d'annotation rend les gros projets Spring assez compliqués à appréhender par des nouveaux venus. Le fait d'avoir la configuration séparée du code c'est un peu comme monter un meuble en ayant scotché le plan de montage sur le plafond de la pièce voisine : pas très pratique.


Spring MVC - @RequestMapping

Exemple @RequestMapping



Class
Method
Description

@RequestMapping
(value="/order.htm")
Maps to all requests on the order.htm
URL.
@RequestMapping
("/order.htm")
@RequestMapping
(method=RequestMethod.GET)
Maps to all GET requests to the order.html URL.
@RequestMapping
("/order.*")


@RequestMapping
(method={RequestMethod.PUT,
RequestMethod.POST})
Maps to all PUT and POST requests to the order.* URL. * means any suffix
or extension such as .htm, .doc, .xls, and so on.
@RequestMapping
(value="/customer.htm",
consumes="application/json")

@RequestMapping
(produces="application/xml")
Maps to all requests that post JSON and accept XML as a response.

@RequestMapping
(value="/order.htm")


@RequestMapping
(params="add-line",
method=RequestMethod.POST)
Maps to all POST requests to the order.htm URL that include an addline parameter.
@RequestMapping
(value="/order.htm")

@RequestMapping
(headers="!VIA")
Maps to all requests to the order.htm URL that don’t include a VIA HTTP
Header.