在我的应用程序中,有三个单独的项目用于任务细节:
business.jar
WSClient.jar
MyApp.war
现在我的问题是如何将所有项目绑定在一起,因为Web应用程序必须从business.jar
获取服务和DAO的依赖关系,并且服务必须从调用Web服务的WSClient.jar
获取依赖关系。我必须使用Spring的类路径扫描实用程序来自动化所有这三个项目中的服务dao和控制器组件。
但是因为服务层不在类路径中而得到错误:
factory.NoSuchBeanDefinitionException: No matching bean of type
[com.amex.merchant.site.pop.service.POPRenderService] found for dependency:
expected at least 1 bean which qualifies as autowire candidate for this
dependency. Dependency annotations:
{@org.springframework.beans.factory.annotation.Autowired(required=true),
@org.springframework.beans.factory.annotation.Qualifier(value=pOPRenderService)}
请建议如何进一步
答案 0 :(得分:0)
POJO服务层不应该对Web服务客户端有任何依赖性。也不应该依赖于具有POJO服务的Web服务客户端。 POJO服务需要包含“合同优先”Web服务。听起来你对我做错了什么。
话虽如此,您需要从这些项目中创建JAR,并将它们作为依赖项添加到需要它们的其他项目中。或者,您可以在项目之间在IDE中创建依赖项,并一次编译它们。那不是春天的事;这取决于你的IDE。
至于你当前的问题,请确保你的Spring配置中包含<context:component-scan>
XML。看起来Spring找不到你的pOPRenderService
bean。如果这是一个依赖项,它可能是一个CLASSPATH问题。 Spring和类加载器都不能在其中找到包含该.class文件的JAR来解决依赖关系。