我想为我使用 Spring 4.1.1 和 Hibernate 4.3.6 的 MySQL 数据库开发基本的创建、读取、更新和删除功能。 我正在尝试使用 Telosys tools为此目的,但在我完成 tutorial 上的每一步之后我在 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)
...
...
这是在本教程之后创建的项目结构。
我怎样才能让它工作,我寻找了 它创建的服务接口(interface),但我找不到它们 项目。我必须手动编写它们吗?
最佳答案
不,没有什么可以使用 Telosys 工具手动编写,但要注意有 2 种方法可以生成 Spring MVC web 应用程序:
使用“Spring MVC”+“Spring Data”的 bundle :
捆绑:'front-springmvc' + 'service-springdatajpa' + 'persistence-springdatajpa'
使用“Spring MVC”+“JPA”(没有 Spring Data 的经典 JPA)的 bundle :
捆绑:'front-springmvc' + 'service-jpa' + 'persistence-jpa'
只选择一种方式,不要与其他 bundle 混合使用。
关于错误,Spring 似乎无法找到您的“DMSService”接口(interface)的实现。此实现由“service-xxx”包生成。 默认情况下,生成的服务类位于包 'xxxx.business.service.impl' 中,带有允许 Spring 使用它们的 '@Component' 注释。检查(如有必要,重新生成“服务层”)
您还可以查看 spring 配置文件(例如 applicationContext.xml) 'component-scan base-package' 必须引用您的包
关于java - Telosys 工具 Java - 从 MySQL 数据库生成 CRUD UI,BeanCreationException,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32425142/