• spring整合mybatis报.UnsatisfiedDependencyException错误


    tomcat启动报org.springframework.beans.factory.UnsatisfiedDependencyException:错误

    org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'bookController': Unsatisfied dependency expressed through field 'bookService'; nested exception is org.springframework.beans.factory.NoSuchBeanDefinitionException: No qualifying bean of type 'org.train.ssm.service.BookService' 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:596)
    		at org.springframework.beans.factory.annotation.InjectionMetadata.inject(InjectionMetadata.java:90)
    		at org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor.postProcessProperties(AutowiredAnnotationBeanPostProcessor.java:374)
    		at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:1411)
    		at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:592)
    		at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:515)
    		at org.springframework.beans.factory.support.AbstractBeanFactory.lambda$doGetBean$0(AbstractBeanFactory.java:320)
    		at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:222)
    		at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:318)
    		at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:199)
    		at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:845)
    		at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:877)
    		at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:549)
    		at org.springframework.web.servlet.FrameworkServlet.configureAndRefreshWebApplicationContext(FrameworkServlet.java:701)
    		at org.springframework.web.servlet.FrameworkServlet.createWebApplicationContext(FrameworkServlet.java:667)
    		at org.springframework.web.servlet.FrameworkServlet.createWebApplicationContext(FrameworkServlet.java:715)
    		at org.springframework.web.servlet.FrameworkServlet.initWebApplicationContext(FrameworkServlet.java:590)
    		at org.springframework.web.servlet.FrameworkServlet.initServletBean(FrameworkServlet.java:529)
    		at org.springframework.web.servlet.HttpServletBean.init(HttpServletBean.java:169)
    		at javax.servlet.GenericServlet.init(GenericServlet.java:158)
    		at org.apache.catalina.core.StandardWrapper.initServlet(StandardWrapper.java:1132)
    		at org.apache.catalina.core.StandardWrapper.loadServlet(StandardWrapper.java:1079)
    		at org.apache.catalina.core.StandardWrapper.load(StandardWrapper.java:973)
    		at org.apache.catalina.core.StandardContext.loadOnStartup(StandardContext.java:4885)
    		at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5199)
    		at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)
    		at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:743)
    		at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:719)
    		at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:714)
    		at org.apache.catalina.startup.HostConfig.manageApp(HostConfig.java:1720)
    		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)
    		at org.apache.tomcat.util.modeler.BaseModelMBean.invoke(BaseModelMBean.java:287)
    		at com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.invoke(DefaultMBeanServerInterceptor.java:819)
    		at com.sun.jmx.mbeanserver.JmxMBeanServer.invoke(JmxMBeanServer.java:801)
    		at org.apache.catalina.mbeans.MBeanFactory.createStandardContext(MBeanFactory.java:483)
    [2019-08-26 06:45:42,635] Artifact MySSM:war exploded: Artifact is deployed successfully
    [2019-08-26 06:45:42,635] Artifact MySSM:war exploded: Deploy took 8,803 milliseconds
    		at org.apache.catalina.mbeans.MBeanFactory.createStandardContext(MBeanFactory.java:432)
    		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)
    		at org.apache.tomcat.util.modeler.BaseModelMBean.invoke(BaseModelMBean.java:287)
    		at com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.invoke(DefaultMBeanServerInterceptor.java:819)
    		at com.sun.jmx.mbeanserver.JmxMBeanServer.invoke(JmxMBeanServer.java:801)
    		at com.sun.jmx.remote.security.MBeanServerAccessController.invoke(MBeanServerAccessController.java:468)
    		at javax.management.remote.rmi.RMIConnectionImpl.doOperation(RMIConnectionImpl.java:1468)
    		at javax.management.remote.rmi.RMIConnectionImpl.access$300(RMIConnectionImpl.java:76)
    		at javax.management.remote.rmi.RMIConnectionImpl$PrivilegedOperation.run(RMIConnectionImpl.java:1309)
    		at java.security.AccessController.doPrivileged(Native Method)
    		at javax.management.remote.rmi.RMIConnectionImpl.doPrivilegedOperation(RMIConnectionImpl.java:1408)
    		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)
    		at java.lang.reflect.Method.invoke(Method.java:498)
    		at sun.rmi.server.UnicastServerRef.dispatch(UnicastServerRef.java:357)
    		at sun.rmi.transport.Transport$1.run(Transport.java:200)
    		at sun.rmi.transport.Transport$1.run(Transport.java:197)
    		at java.security.AccessController.doPrivileged(Native Method)
    		at sun.rmi.transport.Transport.serviceCall(Transport.java:196)
    		at sun.rmi.transport.tcp.TCPTransport.handleMessages(TCPTransport.java:573)
    		at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run0(TCPTransport.java:834)
    		at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.lambda$run$0(TCPTransport.java:688)
    		at java.security.AccessController.doPrivileged(Native Method)
    		at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run(TCPTransport.java:687)
    		at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
    		at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
    		at java.lang.Thread.run(Thread.java:748)
    	Caused by: org.springframework.beans.factory.NoSuchBeanDefinitionException: No qualifying bean of type 'org.train.ssm.service.BookService' 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.support.DefaultListableBeanFactory.raiseNoMatchingBeanFound(DefaultListableBeanFactory.java:1658)
    		at org.springframework.beans.factory.support.DefaultListableBeanFactory.doResolveDependency(DefaultListableBeanFactory.java:1217)
    		at org.springframework.beans.factory.support.DefaultListableBeanFactory.resolveDependency(DefaultListableBeanFactory.java:1171)
    		at org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor$AutowiredFieldElement.inject(AutowiredAnnotationBeanPostProcessor.java:593)
    		... 69 more
    

    原因,web.xml中未添加ContextLoaderListener监听器。

    自己搭建SSM环境坑了很久,找了一天才找到这个原因,特此记录一下。

    ContextLoaderListener监听器的作用:

    当启动web容器时。自动装配ApplicationContext.xml的配置信息

  • 相关阅读:
    HBase 超详细介绍
    写在之前
    【CF】38E Let's Go Rolling! (dp)
    [CF] E. Camels
    CF9D How many trees? (dp)
    [CF] 8C Looking for Order
    CF dp 题(1500-2000难度)
    NOIP原题板刷
    Codeforces Round #595 (Div. 3) 题解
    CSP-S2019 停课日记
  • 原文地址:https://www.cnblogs.com/train99999/p/11414256.html
Copyright © 2020-2023  润新知