Resolve Spring MyBatis Integration after mapper interface injection failure

Source: Internet
Author: User
Tags addchild

Spring integration MyBatis, in the DAO layer we only write an interface, configure the corresponding *mapper.xml file,

The following error is reported:

1Org.springframework.beans.factory.UnsatisfiedDependencyException:Error creating Bean with Name ' Hellocontroller ': Unsatisfied dependency expressed through field ' HelloService '; Nested exception is org.springframework.beans.factory.UnsatisfiedDependencyException:Error creating beans with Name ' HelloService ': Unsatisfied dependency expressed through field ' Hellomapper '; Nested exception is Org.springframework.beans.factory.NoSuchBeanDefinitionException:No qualifying bean of type ' Com.aopeng.quest.dao.IHelloMapper ' available:expected at least 1 bean which qualifies as Autowire candidate. Dependency annotations: {@org. springframework.beans.factory.annotation.Autowired (required=true)}2At org.springframework.beans.factory.annotation.autowiredannotationbeanpostprocessor$ Autowiredfieldelement.inject (autowiredannotationbeanpostprocessor.java:588)3At Org.springframework.beans.factory.annotation.InjectionMetadata.inject (injectionmetadata.java:88)4At Org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor.postProcessPropertyValues ( autowiredannotationbeanpostprocessor.java:366)5At Org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean ( abstractautowirecapablebeanfactory.java:1264)6At Org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean ( abstractautowirecapablebeanfactory.java:553)7At Org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean ( abstractautowirecapablebeanfactory.java:483)8At Org.springframework.beans.factory.support.abstractbeanfactory$1.getobject (abstractbeanfactory.java:306)9At Org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton ( defaultsingletonbeanregistry.java:230)TenAt Org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean (abstractbeanfactory.java:302) OneAt Org.springframework.beans.factory.support.AbstractBeanFactory.getBean (abstractbeanfactory.java:197) AAt Org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons ( defaultlistablebeanfactory.java:761) -At Org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization ( abstractapplicationcontext.java:867) -At Org.springframework.context.support.AbstractApplicationContext.refresh (abstractapplicationcontext.java:543) theAt Org.springframework.web.context.ContextLoader.configureAndRefreshWebApplicationContext (Contextloader.java : 443) -At Org.springframework.web.context.ContextLoader.initWebApplicationContext (contextloader.java:325) -At Org.springframework.web.context.ContextLoaderListener.contextInitialized (contextloaderlistener.java:107) -At Org.apache.catalina.core.StandardContext.listenerStart (standardcontext.java:4727) +At Org.apache.catalina.core.StandardContext.startInternal (standardcontext.java:5189) -At Org.apache.catalina.util.LifecycleBase.start (lifecyclebase.java:150) +At Org.apache.catalina.core.ContainerBase.addChildInternal (containerbase.java:724) AAt Org.apache.catalina.core.ContainerBase.addChild (containerbase.java:700) atAt Org.apache.catalina.core.StandardHost.addChild (standardhost.java:734) -At ORG.APACHE.CATALINA.STARTUP.HOSTCONFIG.MANAGEAPP (hostconfig.java:1702) - At sun.reflect.NativeMethodAccessorImpl.invoke0 (Native Method) -At Sun.reflect.NativeMethodAccessorImpl.invoke (nativemethodaccessorimpl.java:62) -At Sun.reflect.DelegatingMethodAccessorImpl.invoke (delegatingmethodaccessorimpl.java:43) -At Java.lang.reflect.Method.invoke (method.java:498) inAt Org.apache.tomcat.util.modeler.BaseModelMBean.invoke (basemodelmbean.java:300) -At Com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.invoke (defaultmbeanserverinterceptor.java:819) toAt Com.sun.jmx.mbeanserver.JmxMBeanServer.invoke (jmxmbeanserver.java:801) +At Org.apache.catalina.mbeans.MBeanFactory.createStandardContext (mbeanfactory.java:482) -At Org.apache.catalina.mbeans.MBeanFactory.createStandardContext (mbeanfactory.java:431) the At sun.reflect.NativeMethodAccessorImpl.invoke0 (Native Method) *At Sun.reflect.NativeMethodAccessorImpl.invoke (nativemethodaccessorimpl.java:62) $At Sun.reflect.DelegatingMethodAccessorImpl.invoke (delegatingmethodaccessorimpl.java:43)Panax NotoginsengAt Java.lang.reflect.Method.invoke (method.java:498) -At Org.apache.tomcat.util.modeler.BaseModelMBean.invoke (basemodelmbean.java:300) theAt Com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.invoke (defaultmbeanserverinterceptor.java:819) +At Com.sun.jmx.mbeanserver.JmxMBeanServer.invoke (jmxmbeanserver.java:801) AAt Javax.management.remote.rmi.RMIConnectionImpl.doOperation (rmiconnectionimpl.java:1468) theAt javax.management.remote.rmi.rmiconnectionimpl.access$300 (rmiconnectionimpl.java:76) +At Javax.management.remote.rmi.rmiconnectionimpl$privilegedoperation.run (rmiconnectionimpl.java:1309) -At Javax.management.remote.rmi.RMIConnectionImpl.doPrivilegedOperation (rmiconnectionimpl.java:1401) $At Javax.management.remote.rmi.RMIConnectionImpl.invoke (rmiconnectionimpl.java:829) $ At sun.reflect.NativeMethodAccessorImpl.invoke0 (Native Method) -At Sun.reflect.NativeMethodAccessorImpl.invoke (nativemethodaccessorimpl.java:62) -At Sun.reflect.DelegatingMethodAccessorImpl.invoke (delegatingmethodaccessorimpl.java:43) theAt Java.lang.reflect.Method.invoke (method.java:498) -At Sun.rmi.server.UnicastServerRef.dispatch (unicastserverref.java:324)WuyiAt Sun.rmi.transport.transport$1.run (transport.java:200) theAt Sun.rmi.transport.transport$1.run (transport.java:197) - At java.security.AccessController.doPrivileged (Native Method) WuAt Sun.rmi.transport.Transport.serviceCall (transport.java:196) -At Sun.rmi.transport.tcp.TCPTransport.handleMessages (tcptransport.java:568) AboutAt Sun.rmi.transport.tcp.tcptransport$connectionhandler.run0 (tcptransport.java:826) $At Sun.rmi.transport.tcp.tcptransport$connectionhandler.lambda$run$0 (tcptransport.java:683) - At java.security.AccessController.doPrivileged (Native Method) -At Sun.rmi.transport.tcp.tcptransport$connectionhandler.run (tcptransport.java:682) -At Java.util.concurrent.ThreadPoolExecutor.runWorker (threadpoolexecutor.java:1142) AAt Java.util.concurrent.threadpoolexecutor$worker.run (threadpoolexecutor.java:617) +At Java.lang.Thread.run (thread.java:745) thecaused by:org.springframework.beans.factory.UnsatisfiedDependencyException:Error creating bean with Name ' HelloService ': Unsatisfied dependency expressed through field ' Hellomapper '; Nested exception is Org.springframework.beans.factory.NoSuchBeanDefinitionException:No qualifying bean of type ' Com.aopeng.quest.dao.IHelloMapper ' available:expected at least 1 bean which qualifies as Autowire candidate. Dependency annotations: {@org. springframework.beans.factory.annotation.Autowired (required=true)} -At org.springframework.beans.factory.annotation.autowiredannotationbeanpostprocessor$ Autowiredfieldelement.inject (autowiredannotationbeanpostprocessor.java:588) $At Org.springframework.beans.factory.annotation.InjectionMetadata.inject (injectionmetadata.java:88) theAt Org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor.postProcessPropertyValues ( autowiredannotationbeanpostprocessor.java:366) theAt Org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean ( abstractautowirecapablebeanfactory.java:1264) theAt Org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean ( abstractautowirecapablebeanfactory.java:553) theAt Org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean ( abstractautowirecapablebeanfactory.java:483) -At Org.springframework.beans.factory.support.abstractbeanfactory$1.getobject (abstractbeanfactory.java:306) inAt Org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton ( defaultsingletonbeanregistry.java:230) theAt Org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean (abstractbeanfactory.java:302) theAt Org.springframework.beans.factory.support.AbstractBeanFactory.getBean (abstractbeanfactory.java:202) AboutAt Org.springframework.beans.factory.config.DependencyDescriptor.resolveCandidate (dependencydescriptor.java:208) theAt Org.springframework.beans.factory.support.DefaultListableBeanFactory.doResolveDependency ( defaultlistablebeanfactory.java:1138) theAt Org.springframework.beans.factory.support.DefaultListableBeanFactory.resolveDependency ( defaultlistablebeanfactory.java:1066) theAt org.springframework.beans.factory.annotation.autowiredannotationbeanpostprocessor$ Autowiredfieldelement.inject (autowiredannotationbeanpostprocessor.java:585) +... 60 More -caused By:org.springframework.beans.factory.NoSuchBeanDefinitionException:No qualifying bean of type ' Com.aopeng.quest.dao.IHelloMapper ' available:expected at least 1 bean which qualifies as Autowire candidate. Dependency annotations: {@org. springframework.beans.factory.annotation.Autowired (required=true)} theAt Org.springframework.beans.factory.support.DefaultListableBeanFactory.raiseNoMatchingBeanFound ( defaultlistablebeanfactory.java:1493)BayiAt Org.springframework.beans.factory.support.DefaultListableBeanFactory.doResolveDependency ( defaultlistablebeanfactory.java:1104) theAt Org.springframework.beans.factory.support.DefaultListableBeanFactory.resolveDependency ( defaultlistablebeanfactory.java:1066) theAt org.springframework.beans.factory.annotation.autowiredannotationbeanpostprocessor$ Autowiredfieldelement.inject (autowiredannotationbeanpostprocessor.java:585) -... More

Starting this is due to a low-level error, which has the following configuration in Applicationcontext.xml:

1 <Beanclass= "Org.mybatis.spring.mapper.MapperScannerConfigurer">2          < Propertyname= "Basepackage"value= "Com.xxx.xxx.dao.**.*" />3          < Propertyname= "Sqlsessionfactorybeanname"value= "Sqlsessionfactory" />4 </Bean>

The value of Basepackage should be the name of the specified package and the file name I specified.

Change to the following configuration, compile normal pass:

1 <Beanclass= "Org.mybatis.spring.mapper.MapperScannerConfigurer">2          < Propertyname= "Basepackage"value= "Com.xxx.xxx.dao" />3          < Propertyname= "Sqlsessionfactorybeanname"value= "Sqlsessionfactory" />4 </Bean>

Resolve Spring MyBatis Integration after mapper interface injection failure

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.