Java 多maven模块项目中的Spring MVC

Java 多maven模块项目中的Spring MVC,java,spring,hibernate,maven,spring-mvc,Java,Spring,Hibernate,Maven,Spring Mvc,我正在使用Spring、SpringMVC和Maven设计和实现一个JavaWeb应用程序。我的目标是创建三个模块: 包含实体和DAO的数据模块 包含业务逻辑和@service类的服务模块 包含jsp文件和@Controller类的web模块 服务模块和数据模块之间的通信工作正常。服务模块依赖于数据模块,它包括serviceApplicationContext.xml中带有的数据模块。我已经用一个静态主类和一些集成测试对它进行了测试 我遇到的问题是使web模块依赖于服务模块。如何使我的mvc

我正在使用Spring、SpringMVC和Maven设计和实现一个JavaWeb应用程序。我的目标是创建三个模块:

  • 包含实体和DAO的数据模块
  • 包含业务逻辑和@service类的服务模块
  • 包含jsp文件和@Controller类的web模块
服务模块和数据模块之间的通信工作正常。服务模块依赖于数据模块,它包括serviceApplicationContext.xml中带有
的数据模块。我已经用一个静态主类和一些集成测试对它进行了测试

我遇到的问题是使web模块依赖于服务模块。如何使我的mvc-dispatcher-servlet.xml导入我的ServiceApplicationContext.xml

到目前为止我已经尝试过的解决方案: 1) 如果我只使用
,那么Spring MVC将查找/WEB-INF/serviceApplicationContext.xml,当然,它并不存在

2) 如果我将
替换为
,则Spring不会启动,也不会创建hibernate会话

非常感谢, Alex

Spring有自己的机制,
ApplicationContext
的每个实现都有自己的默认资源位置。默认情况下,
ClassPathXmlApplicationContext
从类路径加载,而
XmlWebApplicationContext
从web应用程序根目录加载

您可以通过在每个资源上添加前缀来指定从何处加载资源<代码>类路径:导致始终从类路径加载,
文件:
从文件系统加载等

简而言之,只需将
classpath:
添加到要导入的资源的名称中,即可强制始终从类路径加载此文件

<import resource="classpath:serviceApplicationContext.xml" />


假设配置在类路径中(即在jar文件中),请使用
类路径:
前缀。即
。我还建议您在数据上下文文件的服务上下文中执行此操作。有关在应用程序上下文中加载资源的更多信息,请参阅。谢谢Deinum。我正在进步。我需要为jdbc.properties找到合适的位置,然后,祈祷好运,我应该没事了。再次感谢你,如果你写下你的评论作为答案,我很乐意将其标记为正确答案