bug具体内容:
Description: Parameter 0 of constructor in app.controller.IndexControllerMaYi required a bean of type 'app.mapper.UserMapper' that could not be found. Action: Consider defining a bean of type 'app.mapper.UserMapper' in your configuration. |
解决方法
在main方法中加入
@MapperScan({"app.mapper","app.test01.dao","app.test02.dao"}) |
//我的程序******* package app; import org.mybatis.spring.annotation.MapperScan; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; import org.springframework.context.annotation.ComponentScan; @ComponentScan(basePackages = "app") @MapperScan({"app.mapper","app.test01.dao","app.test02.dao"}) @SpringBootApplication //开启组件扫描和自动配置 public class BooklistApplication {//不只是启动引导类,还是配置类 public static void main(String[] args) { SpringApplication.run(BooklistApplication.class, args);//负责启动引导应用程序 System.out.println("main..."); } } |
总结:
@SpringBootApplicatoin=@Configuration+@EnableAutoConfiguration+@ComponentScan
@SpringBootApplicatoin是用的@ComponentScan扫描的,扫描的是Component,包括@Component, @Controller, @Service, @Repository等
在对Mybatis自动扫描配置中,使用注解配置时,我们只要在@MapperScan中配置我们需要扫描的Mapper位置,大部分情况下是满足需求的。