He visto un montón de ejemplos de proyectos y parece que no puedo extraer una buena práctica común. He visto los archivos de configuración Spring Bean a veces en el directorio src/main/webapp/WEB-INF
. He visto esto en conjunto con una definición de servlet en web.xml
así:¿Dónde van los archivos de configuración de Spring Bean en un módulo WAR de 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>
Pero también he visto los archivos de configuración de frijol incluyen dentro web.xml
nivel superior - es decir, fuera de un servlet. ¿Qué significa esto? ¿Esto es para frijoles Servlet cruzados? A veces está en el directorio src/main/webapp/WEB-INF
y, a veces está en src/main/resources
. También he visto otros archivos de configuración de beans definidos en los módulos WAR con casi todo en src/main/resources
.
He leído y releído la documentación de Spring, pero la única convención que encontré es que, de forma predeterminada, un archivo de configuración de contexto Servlet debe estar en el directorio src/main/webapp/WEB-INF
llamado {servlet-name}-servlet.xml
.
¿Cuál es la mejor práctica y por qué?
Muy útil, gracias. ¡Ojalá esto se haya explicado tan bien en los documentos de Spring! – HDave
@HDave Esto no es específico de Spring, es un comportamiento de cargador de clases Java normal (lo único que es específico de primavera es el prefijo 'classpath:') –