我看了一堆示例项目,我似乎无法梳理出一个常见的最佳做法。我见过Spring bean配置文件有时会进入src/main/webapp/WEB-INF
目录。我已经看到了这个结合在web.xml
一个Servlet的定义是这样的:Spring bean配置文件在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>
但我也看到包括在web.xml
顶级豆配置文件 - 即一个Servlet之外。这是什么意思?这是用于跨Servlet bean吗?有时它位于src/main/webapp/WEB-INF
目录中,有时位于src/main/resources
。另外我还看过WAR模块中定义的其他bean配置文件,其中几乎所有内容都在src/main/resources
中。
我已阅读并重新阅读Spring文档,但我发现的唯一的惯例是,默认情况下,servlet上下文配置文件应命名为{servlet-name}-servlet.xml
的src/main/webapp/WEB-INF
目录。
那么最佳做法是什么?为什么?
非常有帮助 - 谢谢。希望这个在Spring文档中得到了很好的解释! – HDave 2010-09-13 19:54:16
@HDave这不是Spring特有的,它是普通的java类加载器行为(唯一的特定于spring的是'classpath:'前缀) – 2010-09-14 06:51:37