Ho esaminato una serie di progetti di esempio e non riesco a mettere in evidenza una pratica comune comune. Ho visto che i file di configurazione dei bean Spring talvolta entrano nella directory src/main/webapp/WEB-INF
. Ho visto questo in collaborazione con con una definizione Servlet in web.xml
come questo:Dove vanno i file di configurazione del bean Spring in un modulo Maven WAR?
<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>
Ma ho visto anche i file di configurazione di fagioli inclusi all'interno web.xml
livello superiore - vale a dire al di fuori di un Servlet. Cosa significa questo? E 'questo per i fagioli cross-servlet? A volte è nella directory src/main/webapp/WEB-INF
ea volte è in src/main/resources
. Inoltre ho visto altri file di configurazione dei bean definiti nei moduli WAR con quasi tutto in src/main/resources
.
Ho letto e riletto la documentazione Spring, ma l'unica convenzione che ho trovato è che per impostazione predefinita un file di configurazione del contesto Servlet deve essere nella directory src/main/webapp/WEB-INF
denominata {servlet-name}-servlet.xml
.
Allora, qual è la migliore pratica e perché?
Molto utile - grazie. Vorrei che questo fosse spiegato bene nei documenti di primavera! – HDave
@HDave Questo non è specifico di Spring, è normale comportamento del classloader java (l'unica cosa specifica della molla è il 'classpath:' prefisso) –