SpringSource Tool Suite (STS) – Configuration des projets

SpringSource Tool Suite
Suite au post précédent où je vous présentais les fonctionnalités de SpringSource Tool Suite pour l'édition des fichiers XML de Spring, je vous présente ici comment effectuer la configuration de votre projet avec ce plugin.

Définir un projet Java comme étant un projet Spring

Maintenant, il est nécessaire de déclarer le projet en tant que projet de type Spring.

Ceci permet d'activer les fonctionnalités de SpringSource Tool Suite sur ce projet.

Un projet de type Spring est indiqué par le petit « S » comme Spring en haut à droite de l’icône du projet qui passe de SpringSource Tool Suite - Icône du projet sans Spring à SpringSource Tool Suite - Icône du projet avec Spring.

Voici deux méthodes: soit manuellement dans eclipse, soit via le plugin maven-eclipse-plugin de Maven.

Via Eclipse

  • Dans Eclipse > Vue Package Explorer ou Project Explorer > Cliquer avec le bouton droit de la souris sur le nom du projet > Spring Tools > Add Spring Project Nature.
SpringSource Tool Suite - Déclarer le projet de type Spring

Maintenant votre projet est déclaré comme étant de type « projet Spring ».

Via le plugin maven-eclipse de Maven

L’utilisation du plugin maven-eclipse-plugin de Maven permet de définir un projet Maven comme étant de type Spring dans eclipse.

La déclaration du projet Spring s’effectue en ajoutant des propriétés à la configuration du plugin maven-eclipse-plugin dans le fichier pom.xml du projet de cette façon :

<plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-eclipse-plugin</artifactId>
    (…)
    <configuration>
        <projectnatures>
            <projectnature>
                org.springframework.ide.eclipse.core.springnature
            </projectnature>
        </projectnatures>
        <additionalBuildcommands>
            <buildcommand>
                org.springframework.ide.eclipse.core.springbuilder
            </buildcommand>
        </additionalBuildcommands>
    </configuration>
</plugin>

Lancer la commande Maven pour mettre à jour la configuration des projets dans Eclipse :

mvn eclipse:clean eclipse:eclipse

Une fois réactualisé dans Eclipse, le projet sera indiqué comme étant un projet de type « Spring » : un petit « S » apparaîtra sur l'icône du projet dans eclipse : SpringSource Tool Suite - Icône du projet avec Spring

Spring Project Builder

Le Spring Project Builder est ajouté dans la liste des Builders dans la configuration du projet.

SpringSource Tool Suite - Builder

Il indique que les fichiers de configurations de Spring seront analysés par SpringSource Tool Suite à chaque compilation du projet.

Ceci permet d’avoir à jour les références vers les beans Spring à chaque modification du code Java ou des fichiers XML de configuration Spring.

Configuration du projet avec SpringSource Tool Suite

Maintenant que notre projet est de type Spring, nous abordons la partie la plus importante de la configuration du projet.

Elle consiste à indiquer à SpringSource Tool Suite les fichiers Spring du projet actuel et des projets liés qui seront analysés par SpringSource Tool Suite au niveau de ce projet.

Nous avons ainsi deux listes à définir : une première liste pour indiquer les fichiers Spring du projet actuel et une seconde liste pour indiquer les fichiers Spring qui seront analysés par SpringSource Tool Suite.

Pour cela, dans la configuration Spring du projet, l’arborescence contient le nouvel élément Spring > Beans Support.

La partie droite Beans Support contient deux onglets Config Files et Config Sets.

Onglet Config Files

L’onglet Config Files permet de lister les fichiers XML de Spring du projet actuel. Les fichiers Spring peuvent être soit ajoutés soit manuellement, soit détectés automatiquement par « SpringSource Tool Suite » ce qui est fort pratique ! 🙂

Une fois référencé, le fichier Spring est indiqué dans Eclipse avec un petit « S » sur son icône de fichier : SpringSource Tool Suite - icône de fichier déclaré dans SpringSource Tool Suite

Onglet Config Sets

L’onglet Config Sets permet lui de d'indiquer les fichiers Spring qui sont réellement analysés par SpringSource Tool Suite pour le projet actuel.

Nous y indiquons ainsi les fichiers Spring du projet actuel et également les fichiers Spring des autres projets liés.

Important : pour les fichiers Spring des tests : il ne faut pas référencer les fichiers Spring des tests des autres projets liés, mais uniquement ceux des tests du projet actuel. En effet, les fichiers Spring de tests des autres projets ne sont pas utilisés dans le projet actuel et les référencer serait source d'erreurs.

Configuration d’un projet

Voyons comment configurer un projet.

Voici le projet bookstore à configurer. Il s'agit d'une application Web :

SpringSource Tool Suite - Organisation du projet bookstore

Liste des fichiers Spring

Dans un premier temps, nous définissons la liste des fichiers Spring du projet.

Dans la configuration du projet :

  • Beans Support > Onglet Config Files > Cliquer sur Scan > Ajouter tous les fichiers Spring détectés :

SpringSource Tool Suite - Fichiers Spring

Groupe des fichiers Spring analysés par SpringSource Tool Suite

Dans un second temps, nous indiquons à SpringSource Tool Suite les fichiers Spring à prendre en compte pour ce projet.

Dans la configuration du projet :

  • Beans Support > Onglet Config Sets > Cliquer sur New > La fenêtre d'ajouts de fichiers Spring apparaît > Sélectionnez tous les fichiers Spring de bookstore-common.

SpringSource Tool Suite - Groupe de fichiers Spring

Fin de la configuration

Voilà le projet est configuré, SpringSource Tool Suite connaît et analyse vos fichiers Spring à chaque compilation du projet.

SpringSource Tool Suite va pouvoir vous assister dans l'écriture de vos fichiers Spring et dans la détection des erreurs.
Dans cette troisième partie, nous allons aborder la configuration d'un projet disposant de plusieurs modules liés entre eux.

En effet, ce type de configuration est moins évident que pour un projet simple.

L'objectif de ce post est de vous indiquer comment s'y prendre et d'éviter certains pièges.

Configuration d’un projet avec plusieurs modules

Pour comprendre comment configurer des projets disposant de plusieurs modules avec SpringSource Tool Suite, nous allons prendre l’exemple d'un projet disposant des deux modules suivants :

  • bookstore-common : module inclu sous forme de jar dans le module web
  • bookstore-web : module web

Nous avons donc une dépendance entre le projet common et le projet web car le module common est inclu sous forme de jar dans le module web.

Avec cette dépendance, les fichiers Spring du module common sont utilisés dans le module web. Ainsi les beans Spring du module web référencent les beans spring du module commun. Cette complication sera détaillée ci-dessous pour pouvoir configurer des projets multi-modules.

Voici l’organisation de ces deux modules :

SpringSource Tool Suite - Vue du projet

Définir les fichiers Spring du projet « common »

Le module commun ne référence aucun fichier Spring d'un autre projet.

Il correspond au cas d'un projet simple : nous référençons dans SpringSource Tool Suite uniquement les fichiers Spring de ce projet.

Lister les fichiers Spring du projet « common »

Dans la configuration du projet :

  • Beans Support > Onglet Config Files > Cliquer sur Scan > Ajouter tous les fichiers Spring détectés :

SpringSource Tool Suite - Configuration des fichiers du module common

Groupe des fichiers Spring analysés par SpringSource Tool Suite

  • Beans Support > Onglet Config Sets > Cliquer sur New > La fenêtre d'ajouts de fichiers Spring apparaît > Sélectionnez tous les fichiers Spring de bookstore-common.
SpringSource Tool Suite - Sélection des fichiers Spring pour le groupe de fichiers du module common

SpringSource Tool Suite - Groupe de fichiers Spring du module common

Définir les fichiers Spring du projet « web »

Pour le projet bookstore-web, nous avons à référencer les fichiers Spring applicationContext-web.xml et applicationContext.xml et également les fichiers Spring de bookstore-common.

Lister les fichiers Spring du projet « web »

Dans la configuration du projet :

  • Beans Support > Onglet Config Files > Cliquer sur Scan > Ajouter tous les fichiers Spring détectés :

SpringSource Tool Suite - Fichiers Spring du module web

Groupe des fichiers Spring analysés par SpringSource Tool Suite

  • Beans Support > Onglet Config Sets > Cliquer sur New > La fenêtre d'ajouts de fichiers Spring apparaît > Sélectionnez les fichiers Spring de bookstore-web et de bookstore-common.

Important : les fichiers Spring des tests des autres projets ne doivent pas être sélectionnés.

Ici, le fichier Spring applicationContext-test.xml des tests du module commun ne doit pas être repris. Il est encadré ci-dessous en rouge. Ainsi son contenu n'impactera pas le module Web qui n'utilise pas ce fichier.

SpringSource Tool Suite - Sélection des fichiers Spring pour le groupe de fichiers du module web

SpringSource Tool Suite - Groupe de fichiers Spring du module web

Conclusion

Au travers des exemples pour un projet simple et d'un projet multi-modules comportant des tests, vous avez pu voir comment effectuer la configuration sur votre projet.

Vous pourrez ainsi gagner du temps et de l'énergie dans l'écriture de vos fichiers XML Spring à l'aide de SpringSource Tool Suite.

Références :

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Captcha *

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.