【发布时间】:2013-12-15 12:47:45
【问题描述】:
我正在使用 Spring、Spring MVC 和 Maven 设计和实现一个 Java Web 应用程序。我的目标是创建三个模块:
- 包含实体和 DAO 的数据模块
- 一个包含业务逻辑和@Service 类的服务模块
- 一个包含 jsp 文件和 @Controller 类的 Web 模块
服务模块和数据模块之间的通信效果很好。服务模块依赖于数据模块,它在serviceApplicatioContext.xml中包含<import resource="dataApplicationContext.xml"/>的数据模块。我已经使用静态主类和一些集成测试对其进行了测试。
我遇到的问题是让 web 模块依赖于服务模块。如何让我的 mvc-dispatcher-servlet.xml 导入我的 serviceApplicatioContext.xml?
到目前为止我尝试过的解决方案:
1)如果我只使用<import resource="/serviceApplicationContext.xml"/>,那么 Spring MVC 会查找 /WEB-INF/serviceApplicationContext.xml,当然,它不存在。
2)如果我将<context:component-scan base-package="my.project.controller" /> 替换为<context:component-scan base-package="my.project" />,则Spring 不会启动,也不会创建休眠会话。
非常感谢, 亚历克斯
【问题讨论】:
-
假设配置在类路径中(即在你的 jar 文件中)使用
classpath:前缀。 IE。<import resource="classpath:serviceApplicationContext.xml" />。我还建议您在数据上下文文件的服务上下文中执行此操作。有关在应用程序上下文中加载资源的更多信息,请参阅docs.spring.io/spring/docs/current/spring-framework-reference/…。 -
感谢 Deinum。我正在取得进展。我需要为 jdbc.properties 找出正确的位置,然后祈祷,我应该没问题。再次感谢
-
Deinum,如果您将您的评论写为答案,我很乐意将其标记为正确答案
标签: java spring hibernate maven spring-mvc