【发布时间】:2010-09-23 19:14:39
【问题描述】:
我有一个新的 Web 应用程序,它作为多模块 Maven 项目的一部分打包为 WAR。此 WAR 的 applicationContext.xml 引用从“服务”模块导入的 bean,而后者又从“dao”模块导入 bean。 applicationContext.xml 中的 import 语句如下所示:
<import resource="classpath*:service.xml" />
service.xml 文件中的文件如下所示:
<import resource="classpath*:dao.xml" />
Spring STS 和 Eclipse 都不会在我的 bean 文件中显示任何警告或错误。我到处引用进口的豆子。 Maven 构建工作正常,DAO 集成测试全部通过(它们使用 bean)。我还没有任何服务集成测试。
但是当我在 Jetty 中启动 WAR 时出现错误:
Error creating bean with name 'securityService'
Cannot resolve reference to bean 'userDAO' while setting constructor argument
所有导入的 bean XML 文件都可以在 WEB-INF/lib 目录中各自的 JAR 文件中找到。实际上,引发错误的服务 bean 本身是在服务模块的 JAR 文件中的 service.xml 文件中定义的。
显然服务模块找不到它从 dao 模块导入的 bean。显然我不明白一些东西......这应该是这样吗?
【问题讨论】:
标签: java spring servlets jar javabeans