我正在尝试解决我的配置文件问题。
我有具有此结构的 Spring MVC 应用程序(我当前的结构)
src/main/java/ ....................... (java classes)
src/main/resources/ .................. (some .properties files )
src/main/webapp/ ..................... (web content, web.xml )
src/main/webapp/spring/ .............. (other spring config files, app-confix.xml, etc.)
src/main/webapp/myApp-servlet.xml .... (servlet config)
src/test/java ........................ (java test classes)
src/test/resources ................... (some test .properties files)
(这是相当标准的 Maven 项目目录结构)
所以,我的问题是:我是否应该将 spring 配置文件放入 resources 目录?我不确定它们是否可以被视为资源文件。大多数 Spring 项目的配置都在 WEB-INF/ 目录中。但是单元测试有一个问题,因为当我需要加载 servlet 配置时,maven 需要 /test/resources 目录中的配置文件。我知道,我可以将上下文 xml 文件复制到测试的类中,一切都会好起来的,但这对我来说看起来不太好。
我在互联网上阅读了很多文章,但我仍然不确定什么是正确的方法。
所以我有树选项:
1.保持当前结构
2.将所有 spring 配置移动到 /main/(java|test)/resources
在这里我可以看到一件坏事。所有配置文件都将位于类目录中,我不确定这是否正确。
3.仅将 servlet 配置移动到 /main/(java|test)/resources 并将其他 spring 配置文件保留在 /WEB-INF/ 目录中。
那么,你有什么推荐呢?
将 Spring 与 Maven 和 JUnit 结合使用时,配置文件放置的最佳实践是什么?
UPDATE:修复了选项 2 和 3 中的目录命名。
UPDATE:我发现阅读有关 Spring 最佳实践的 [1] 非常有趣。它看起来非常有希望并证实了拉尔夫的解决方案。我仍然对 META-INF 目录的存在不满意WEB-INF/classes
但是,嗯……没有什么是完美的。
[1] http://gordondicens.com/wordpress/2012/07/03/enterprise-spring-best-practices-part-1-project-config/ http://gordondickens.com/wordpress/2012/07/03/enterprise-spring-best-practices-part-1-project-config/