1

我想为使用 Spring 4.1.1 和 Hibernate 4.3.6 的 MySQL 数据库开发基本的创建、读取、更新和删除功能。我正在尝试为此目的使用Telosys 工具,但是在完成本教程的每一步后,我在 Tomcat 启动期间遇到了这些错误。

org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'dmsController': Injection of resource dependencies failed; nested exception is org.springframework.beans.factory.NoSuchBeanDefinitionException: No qualifying bean of type [com.mywebadmin.business.service.DMSService] found for dependency: expected at least 1 bean which qualifies as autowire candidate for this dependency. Dependency annotations: {@javax.annotation.Resource(shareable=true, lookup=, name=, description=, authenticationType=CONTAINER, type=class java.lang.Object, mappedName=)}
at org.springframework.context.annotation.CommonAnnotationBeanPostProcessor.postProcessPropertyValues(CommonAnnotationBeanPostProcessor.java:306)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:1146)
...
Caused by: org.springframework.beans.factory.NoSuchBeanDefinitionException: No qualifying bean of type [com.mywebadmin.business.service.DMSService] found for dependency: expected at least 1 bean which qualifies as autowire candidate for this dependency. Dependency annotations: {@javax.annotation.Resource(shareable=true, lookup=, name=, description=, authenticationType=CONTAINER, type=class java.lang.Object, mappedName=)}
at org.springframework.beans.factory.support.DefaultListableBeanFactory.raiseNoSuchBeanDefinitionException(DefaultListableBeanFactory.java:988)
at org.springframework.beans.factory.support.DefaultListableBeanFactory.doResolveDependency(DefaultListableBeanFactory.java:858)
...
org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'dmsController': Injection of resource dependencies failed; nested exception is org.springframework.beans.factory.NoSuchBeanDefinitionException: No qualifying bean of type [com.mywebadmin.business.service.DMSService] found for dependency: expected at least 1 bean which qualifies as autowire candidate for this dependency. Dependency annotations: {@javax.annotation.Resource(shareable=true, lookup=, name=, description=, authenticationType=CONTAINER, type=class java.lang.Object, mappedName=)}
at org.springframework.context.annotation.CommonAnnotationBeanPostProcessor.postProcessPropertyValues(CommonAnnotationBeanPostProcessor.java:306)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:1146)
...
Caused by: org.springframework.beans.factory.NoSuchBeanDefinitionException: No qualifying bean of type [com.mywebadmin.business.service.DMSService] found for dependency: expected at least 1 bean which qualifies as autowire candidate for this dependency. Dependency annotations: {@javax.annotation.Resource(shareable=true, lookup=, name=, description=, authenticationType=CONTAINER, type=class java.lang.Object, mappedName=)}
at org.springframework.beans.factory.support.DefaultListableBeanFactory.raiseNoSuchBeanDefinitionException(DefaultListableBeanFactory.java:988)
at org.springframework.beans.factory.support.DefaultListableBeanFactory.doResolveDependency(DefaultListableBeanFactory.java:858)

...
...

这是在教程之后创建的项目结构。

生成的项目结构

我怎样才能让它工作,我寻找它创建的服务接口的实现,但我在整个项目中找不到它们。我必须手动编写它们吗?

4

1 回答 1

3

不,没有什么可以用 Telosys Tools 手动编写,但要小心有两种方法可以生成 Spring MVC Web 应用程序:

  1. 与 'Spring MVC' + 'Spring Data' 的捆绑包:

    捆绑:'front-springmvc' + 'service-springdatajpa' + 'persistence-springdatajpa'

  2. 带有“Spring MVC”+“JPA”(没有 Spring Data 的经典 JPA)的捆绑包:

    捆绑:'front-springmvc' + 'service-jpa' + 'persistence-jpa'

只选择一种方式,不要与其他捆绑包混合。

关于错误,Spring 似乎找不到您的“DMSService”接口的实现。此实现由“ service-xxx ”包生成。默认情况下,生成的服务类位于包' xxxx.business.service.impl '中,带有' @Component '注释,允许Spring使用它们。检查(如有必要,重新生成“服务层”)

您还可以检查 spring 配置文件(例如 applicationContext.xml)“组件扫描基础包”必须引用您的包

于 2015-09-10T13:33:02.410 回答