340 likes | 691 Views
Projet sur Framework Spring. Présenté par : Ouadhour mohamed el hedi Ben Smida Sami Aouidet Karim. Plan :. Définition d’un Framework Présentation de Spring Le but et les fonctionnalités Avantages et inconvénients Exemple de Spring Conclusion .
E N D
Projet sur Framework Spring Présenté par : Ouadhourmohamed el hedi Ben Smida Sami Aouidet Karim
Plan : • Définition d’un Framework • Présentation de Spring • Le but et les fonctionnalités • Avantages et inconvénients • Exemple de Spring • Conclusion
Définition d’un Framework • Framework est un espace de travail modulaire. C'est un ensemble de bibliothèques et de conventions permettant le développement rapide d'applications. Il fournit suffisamment de logicielles et impose suffisamment de rigueur pour pouvoir produire une application aboutie et facile à maintenir. Ces composants sont organisés pour être utilisés en interaction les uns avec les autres
Présentation de Springframework • Spring est un framework libre pour construire et définir l'infrastructure d'une application java, dont il facilite le développement et les tests. • Il est effectivement un conteneur dit « léger », c'est-à-dire une infrastructure similaire à un serveur d'application J2EE. Il prend donc en charge la création d'objets et la mise en relation d'objets par l'intermédiaire d'un fichier de configuration qui décrit les objets à fabriquer et les relations de dépendances entre ces objets.
Le but et les fonctionnalités • Le but : le but de Spring est de faciliter et de rendre productif le développement d'applications, particulièrement les applications d'entreprises. • Les fonctionnalités : Spring propose de nombreuses fonctionnalités de base pour le développement d'applications :
Le but et les fonctionnalités • un conteneur léger implémentant le design pattern IoC pour la gestion des objets et de leurs dépendances • Le pattern IoC : L'idée du pattern IoC« Inversion Of Control » est très simple, elle consiste, lorsqu'un objet A a besoin d'un objet B, à déléguer à un objet C la mise en relation de A avec B. Bon, ok, cela ressemble à une vieille équation d'algèbre incompréhensible alors un petit exemple de code vaut mieux qu'une formule fumeuse.
Le but et les fonctionnalités • une gestion des transactions par déclaration offrant une abstraction du gestionnaire de transactions sous-jacent • faciliter le développement des DAO de la couche de persistance en utilisant JDBC, JPA, JDO • un support pour un usage interne à Spring (notamment dans les transactions) • faciliter la testabilité de l'application
Avantages et inconvénients • Avantages : • SPRING est effectivement un conteneur dit “ léger ”, c’est-à-dire une infrastructure similaire à un serveur d’application J2EE. • Le gros avantage par rapport aux serveurs d’application est qu’avec SPRING, vos classes n’ont pas besoin d’implémenter une quelconque interface pour être prises en charge par le Framework (au contraire desserveur d’application J2EE et des EJBs), C’est en ce sens que SPRING est qualifié de conteneur “ léger ”. ».
Avantages : Spring s’appuie principalement sur l’intégration de trois concepts clés : • l’inversion de contrôle est assurée de deux façons différentes : la recherche de dépendances et l'injection de dépendances • la programmation orientée aspect • une couche d’abstraction.
Inconvénients • La mise en œuvre de Spring n'est pas toujours aisée car il existe généralement plusieurs solutions pour mettre en œuvre une fonctionnalité : par exemple, généralement avec Spring 3.0, une fonctionnalité est utilisable par configuration XML, par annotations ou par API. Bien sûre cela permet de choisir mais cela impose de faire un choix selon ses besoins.
Exemple de Spring sur Eclipse • Les étapes à suivre : Vérifiez d’abord que vous avez bien les pré requis : • le JDK doit être installé sur votre machine. • Eclipse doit être installé sur votre machine. • Création du projet dans Eclipse • Lancer Eclipse. • On créé un nouveau projet.
Exemple de Spring sur Eclipse 2. Ajout des librairies • Il faut télécharger le Framework Spring (exemple a partir de l'adresse suivante : SpringFramework 2.5.6) • On va ensuite extraire le contenu de l'archives zip dans notre projet. • Créé un nouveau répertoire lib qui contiendra les librairies. On extrait ensuite l'archive dedans.
Exemple de Spring sur Eclipse • Il faut ensuite spécifier à Eclipse dans notre projet qu'on a ajouté une librairie pour pouvoir l'utiliser: • On fait un clic droit sur le projet dans le package explorer qui ouvre un menu contextuel : on ouvre BuildPath → Configure BuildPath.
Exemple de Spring sur Eclipse • On clique sur l'onglet Libraries, puis sur le bouton add JARS… Il suffit ensuite d'ajouter les bibliothèques situées dans les sous répertoires de lib • On valide les modifications sur le projet en cliquant sur OK. Nous sommes maintenant prêts à débuter le code!
Exemple de Spring sur Eclipse • Classes et Beans • Le nom des classes est auto-descriptif. La seule classe qui est isolée est SpringGardenApplication et ne sert qu'à démarrer le contexte de Spring. Il faut remarquer que les classes n'ont des références que vers des interfaces ce qui permet de découpler les implémentations. • Le diagramme ci-dessous montre les classes de l'application :
Exemple de Spring sur Eclipse • Les beans Springs sont configurés dans le fichier applicationContext.xml et à travers d'annotations Java. Un bean doit être vu comme un objet managé par Spring. Un bean ne correspond pas forcément à une seule instance car, par exemple, un bean peut être de type prototype et à chaque fois qu'il est injecté dans un autre bean, une nouvelle instance est créée.
Exemple de Spring sur Eclipse • Le diagramme des beansSpring montré ci-dessous a été généré avec le plugin Spring IDE pour Eclipse. Le diagramme montre les relations de composition et d'héritage entre beans. Si on compare le diagramme avec le fichier XML on peut observer que la cardinalité n'est pas représentée, par exemple le beanchoux est seulement représenté une seule fois alors que le potager en contient deux. Il faut aussi remarquer que les beans déclarés avec des annotations sont bien représentés.
Exemple de Spring sur Eclipse • Classe d'entrée de l'application • La classe SpringGardenApplication est le point d'entrée de cette application stand-alone. Sa méthode main charge le contexte de Spring.
Exemple de Spring sur Eclipse • Spring cherchera pour sa configuration le fichier applicationContext.xml qui se trouve dans le même package que la classe. Il est aussi possible d'utiliser une autre classe de Spring pour spécifier un fichier de configuration en dehors du classpath, par exemple vers un chemin absolu du système de fichiers.
Exemple de Spring sur Eclipse • Fichier de configuration de Spring
Exemple de Spring sur Eclipse • Le beanJardinier est un des plus simples car sa classe a juste une propriété nom. • La classe Java correspondante est la suivante :
Exemple de Spring sur Eclipse • Fichier de configuration Maven Le fichier de configuration de Maven 2, nommé pom.xml se trouve à la racine du projet. Il déclare les propriétés du projet ainsi que ses dépendances.
Exemple de Spring sur Eclipse • Exécution du projet La compilation et l'exécution de l'application peuvent se faire avec une seule commande Maven : mvn compile exec:java -Dexec.mainClass="org.yannart.springgarden.SpringGardenApplication"
Exemple de Spring sur Eclipse • L'application s'exécute et vous aurez quelque chose semblable à ça :
Conclusion • Spring est très ouvert et ne limite pas les comportements. • pour un même problème il existe parfois une multitude de solutions différentes . • Spring a largement pénètre le monde industriel et jouit d'une communauté importante et dynamique.sa prise en main est très facile et très intuitive basée sur le principe "convention over configuration"