Configurer spring sans fichier XML

Pour changer un peu de docker, voici un petit article pour initier un projet spring sans fichier de configuration XML.

Je vais créer une petite application avec un Controller Spring MVC.

Tout d’abord, on ajoute les dépendances. Servlet 3.1, spring-context , spring mvc suffisent:

On va ensuite créer une classe qui va permettre de gérer l’initialisation de la configuration spring. Pour cela, j’utilise une nouveauté de servlet 3.0 qui est  l’interface WebApplicationInitializer:

En implémentant une classe avec la méthode onStartup, on peut faire l’initialisation de son application. C’est plus simple que de faire une « fausse » servlet avec un paramètre loadOnStartup dans le fichier web.xml

Voici le code de la classe que j’utilise:

La méthode getContext va permettre de gérer la configuration par annotation en commençant par le package com.axioconsulting.demo.spring.config.

Dans ce package, j’ai défini 2 classes.

L’annotation @Configuration permet à Spring de savoir que cette classe est à prendre en compte pour la configuration. Dans notre cas, on précise juste qu’il faut scanner le package com.axioconsulting.demo.spring.controller (c’est là que va se trouver le controller)

Cette classe permet d’importer la configuration spring MVC.

NB: On aurait pu fusionner les 2 classes.

Il ne reste plus qu’à mettre en place le controller.

Il s’agit d’un controller basic qui va répondre un message sur /hello ou sur /hello?name=monNom

anonyme monNom

Et voila, on a réussi à initier une appli spring MVC en manipulant seulement des annotations ce qui me parait plus simple.

A voir sur le long terme et sur un projet un peu plus gros si les annotations sont suffisantes.

Les sources sont ici:  https://github.com/BenoitCharret/demoSpring