出错:Error creating bean with name 'studentServiceImpl': Unsatisfied dependency expressed through field 'studentMapper';

详细错误:

 1 org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'studentServiceImpl': Unsatisfied dependency expressed through field 'studentMapper'; nested exception is org.springframework.beans.factory.NoSuchBeanDefinitionException: No qualifying bean of type 'cn.mgy.mapper.StudentMapper' available: expected at least 1 bean which qualifies as autowire candidate. Dependency annotations: {@org.springframework.beans.factory.annotation.Autowired(required=true)}
 2     at org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor$AutowiredFieldElement.inject(AutowiredAnnotationBeanPostProcessor.java:588)
 3     at org.springframework.beans.factory.annotation.InjectionMetadata.inject(InjectionMetadata.java:88)
 4     at org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor.postProcessPropertyValues(AutowiredAnnotationBeanPostProcessor.java:366)
 5     at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:1272)
 6     at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:553)
 7     at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:483)
 8     at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:312)
 9     at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:230)
10     at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:308)
11     at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:197)
12     at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:761)
13     at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:867)
14     at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:543)
15     at org.springframework.web.servlet.FrameworkServlet.configureAndRefreshWebApplicationContext(FrameworkServlet.java:668)
16     at org.springframework.web.servlet.FrameworkServlet.createWebApplicationContext(FrameworkServlet.java:634)
17     at org.springframework.web.servlet.FrameworkServlet.createWebApplicationContext(FrameworkServlet.java:682)
18     at org.springframework.web.servlet.FrameworkServlet.initWebApplicationContext(FrameworkServlet.java:553)
19     at org.springframework.web.servlet.FrameworkServlet.initServletBean(FrameworkServlet.java:494)
20     at org.springframework.web.servlet.HttpServletBean.init(HttpServletBean.java:171)
21     at javax.servlet.GenericServlet.init(GenericServlet.java:158)
22     at org.apache.catalina.core.StandardWrapper.initServlet(StandardWrapper.java:1144)
23     at org.apache.catalina.core.StandardWrapper.loadServlet(StandardWrapper.java:1091)
24     at org.apache.catalina.core.StandardWrapper.allocate(StandardWrapper.java:773)
25     at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:134)
26     at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:96)
27     at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:493)
28     at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:140)
29     at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:81)
30     at org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:650)
31     at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:87)
32     at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:342)
33     at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:800)
34     at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:66)
35     at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:806)
36     at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1498)
37     at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49)
38     at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
39     at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
40     at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
41     at java.lang.Thread.run(Thread.java:748)
42 Caused by: org.springframework.beans.factory.NoSuchBeanDefinitionException: No qualifying bean of type 'cn.mgy.mapper.StudentMapper' available: expected at least 1 bean which qualifies as autowire candidate. Dependency annotations: {@org.springframework.beans.factory.annotation.Autowired(required=true)}
43     at org.springframework.beans.factory.support.DefaultListableBeanFactory.raiseNoMatchingBeanFound(DefaultListableBeanFactory.java:1493)
44     at org.springframework.beans.factory.support.DefaultListableBeanFactory.doResolveDependency(DefaultListableBeanFactory.java:1104)
45     at org.springframework.beans.factory.support.DefaultListableBeanFactory.resolveDependency(DefaultListableBeanFactory.java:1066)
46     at org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor$AutowiredFieldElement.inject(AutowiredAnnotationBeanPostProcessor.java:585)
47     ... 39 more

第一:先查看‘studentMapper’有没有注入到StudentService里面,经过检查已注入

第二:查看‘studentMapper’有没有被扫描到Spring容器里面,经过检查,该配置类写错了

 1 // 原始的
 2 @Bean
 3     public static MapperScannerConfigurer mapperScannerConfigurer() {
 4         MapperScannerConfigurer configurer = new MapperScannerConfigurer();
 5         // 1.设置使用的会话工厂
 6         configurer.setSqlSessionFactoryBeanName("sessionFactory");
 7         // 2.配置扫描的映射接口
 8         configurer.setBasePackage("cn.mgy.mapper");
 9         // 3.指定组件类型
10         configurer.setAnnotationClass(Repository.class); // 该类应该是Mapper.class,因为前面我使用的是@Mapper注解的,所以此处应改为Mapper.class
11         return configurer;
12     }
13 
14 // 修改后的
15 @Bean
16     public static MapperScannerConfigurer mapperScannerConfigurer() {
17         MapperScannerConfigurer configurer = new MapperScannerConfigurer();
18         // 1.设置使用的会话工厂
19         configurer.setSqlSessionFactoryBeanName("sessionFactory");
20         // 2.配置扫描的映射接口
21         configurer.setBasePackage("cn.mgy.mapper");
22         // 3.指定组件类型
23         configurer.setAnnotationClass(Mapper.class); 
24         return configurer;
25     }
原文地址:https://www.cnblogs.com/maigy/p/10782857.html