J'ai regardé un tas de projets d'exemples et je n'arrive pas à dégager une bonne pratique commune. J'ai vu des fichiers de configuration de bean Spring aller parfois dans le répertoire src/main/webapp/WEB-INF
. Je l'ai vu en conjonction avec une définition Servlet dans web.xml
comme ceci:Où vont les fichiers de configuration du bean Spring dans un module WAR Maven?
<servlet>
<servlet-name>my-stuff</servlet-name>
<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
<init-param>
<param-name>contextConfigLocation</param-name>
<param-value>/WEB-INF/my-stuff-servlet.xml</param-value>
</init-param>
<load-on-startup>1</load-on-startup>
</servlet>
Mais j'ai aussi vu des fichiers de configuration de haricots inclus dans web.xml
haut niveau - à savoir en dehors d'un Servlet. Qu'est-ce que ça veut dire? Est-ce pour les haricots croisés-Servlet? Parfois, c'est dans le répertoire src/main/webapp/WEB-INF
et parfois c'est dans src/main/resources
. J'ai également vu d'autres fichiers de configuration de bean définis dans les modules WAR avec à peu près tout dans src/main/resources
. J'ai lu et relu la documentation de Spring, mais la seule convention que j'ai trouvée est que par défaut un fichier de configuration de contexte Servlet doit être dans le répertoire src/main/webapp/WEB-INF
nommé {servlet-name}-servlet.xml
.
Alors, quelle est la meilleure pratique et pourquoi?
Très utile - merci. J'aimerais que cela soit bien expliqué dans les documents du printemps! – HDave
@HDave Ceci n'est pas spécifique à Spring, c'est un comportement de classloader java normal (la seule chose spécifique au ressort est le préfixe 'classpath:') –