当使用maven时把Spring配置文件(Where to put spring configura

2019-08-04 01:43发布

我试图解决我的配置 - 文件 - 问题。

我有这种结构的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配置文件资源目录或不? 我不知道他们是否可以被视为资源文件。 大部分的春天项目在WEB-INF /目录配置。 但有一个问题,单元测试,因为当我需要加载的servlet的配置则是行家预计在/测试/资源目录的配置文件。 我知道,我可以在context XML文件复制到被测试类,一切都会好的,但不要找我那么好。

我读了很多在互联网上的文章,但我仍然不知道什么是正确的方式。

所以,我有树的选项:

1.住宿当前结构

2.将所有的spring配置到/主/(Java |测试)/资源在这里我可以看到一个坏事。 所有的配置文件将在classes目录下,我不知道这是正确的。

3.移动只servlet配置到/主/(Java |测试)/资源,并保持其他spring配置文件在/ WEB-INF /目录。

那么,你有什么建议? 什么是配置文件放置与Maven和JUnit的最佳实践使用Spring的时候?

更新:在选项2和3固定目录命名。

更新:我发现很有趣的阅读[1]的最佳做法是在春天。 它看起来非常有前途,并确认拉尔夫的解决方案。 我还是不满意的存在META-INF目录WEB-INF/classes ,但是,嗯......没有什么是完美的。

[1] http://gordondickens.com/wordpress/2012/07/03/enterprise-spring-best-practices-part-1-project-config/

Answer 1:

一个常见的模式(例如,通过Spring Roo的应用中使用)是将配置文件下src\main\resources\META-INF\spring\

然后,你可以通过同样的表情加载它们classpath:META-INF\spring\application-context.xml在测试中,以及在你的应用程序。



文章来源: Where to put spring configuration files when using maven