Flex 4 – Intégration Spring-Hibernate-BlazeDS-MySQL-Maven
Tutorial Flex écrit par Benjamin Michotte. Publiez vous aussi sur flex-tutorial!
Dans le cadre d'un projet professionnel, j'ai du mettre en place une infrastructure assez intéressante, mais également assez complexe à mettre en œuvre. Côté serveur, il s'agit d'un environnement Spring-Hibernate-BlazeDS-MySQL et côté client une interface Flex 4.
Ce tutoriel va vous expliquer comment créer ce genre de projet. Je me baserai sur le fait que vous avez des connaissances (même de base) dans ces différents framework. Si ce n'est pas le cas, je vous renvois aux différents sites des framework cités. Je vous invite également à lire d'abord les tutoriels de Fabien concernant BlazeDS.
Concernant les différents (nombreux) jars à télécharger côté serveur, je vous invite à vous rendre sur leurs site respectifs et suivre les dépendances. Un fichier de configuration Maven est disponible pour ceux qui l'utilise sur http://benjamin.produweb.eu/pom.xml. Notez que le fichier n'est en rien optimisé au niveau des dépendances, il a été créé en mode "ah, il me faut aussi ça, hop, je l'ajoute".
Versions utilisées pour ce tutoriel :
- Spring 3.0.0RC2
- Hibernate 3.2.6.ga
- BlazeDS 4.0.0.11835 (que vous trouverez caché sur http://flexorg.wip3.adobe.com/blazeds/trunk/11835/blazeds-bin-4.0.0.11835.zip )
- Flash Builder 4 beta 2
Notez toutefois qu'entre la théorie et la pratique, il y a, malheureusement, quelques petites modifications (osons dire bidouillages) que vous devrez faire à cause de quelques bugs.
Vous remarquez également que nous créons un interface puis une classe l'implémentant pour le DAO et le Service, c'est dû à Spring et à son architecture (nécessité pour les @Autowired).
Création de notre projet Java
Côté serveur, nous allons créer une classe Produit (qui contient un id, un nom et un prix), un DAO qui implémentera les méthodes de base (ajout, suppression, listing, …) vers nos produits et un service que nous appellerons depuis Flex.
Produit.java
Une petite classe somme toute assez simple.
package tuto.pojo;
public class Produit
{
private Long id;
private String name;
private Double price;
public Produit()
{
}
public Long getId()
{
return id;
}
public void setId(Long id)
{
this.id = id;
}
public String getName()
{
return name;
}
public void setName(String name)
{
this.name = name;
}
public Double getPrice()
{
return price;
}
public void setPrice(Double price)
{
this.price = price;
}
}
Comme vous pouvez le voir, nous implémentons juste les méthodes get et set sur les champs de la classe. Nous laisserons Hibernate faire la magie du reste.
Pour cela, modifions notre classe pour expliquer à Hibernate quoi faire.
Tout d'abord, nous signalons que la classe Produit deviendra la table produits dans notre base de données.
@Entity
@Table(name = "produits")
public class Produit
{
Nous désignons également l'id en tant que tel, en spécifiant que Hibernate doit créer un id incrémental.
@Id @GeneratedValue(strategy = GenerationType.AUTO) @Column(nullable = false) private Long id;





