报错:Consider defining a bean of type ‘com.example.mall.mapper.UserMapper‘ in you

        我们在springboot整合mybatis时,有时会出现这个错误:Consider defining a bean of type ‘com.example.mall.mapper.UserMapper’ in you,意思是说,在你的项目中找不到"UserMapper"这个类。

        解决方法:

        方式一:在Mapper接口上加注解@Mapper

@Mapper  //表示这是一个mybatis的mapper类,也就是dao
@Component
public interface UserMapper {
    User admin(@Param("userName") String name,@Param("userPassword") String pwd);
}

        方式二:在启动类上加上@MapperScan这个注解

@SpringBootApplication
@MapperScan({"app.mapper","app.test01.dao","app.test02.dao"})
public class MallApplication {

    public static void main(String[] args) {
        SpringApplication.run(MallApplication.class, args);
    }

}

        总结:

        @SpringBootApplicatoin注解是由@Configuration和@EnableAutoConfiguration和@ComponentScan组成的。
        @SpringBootApplicatoin是用的@ComponentScan扫描的,扫描的是Component,包括@Component, @Controller, @Service, @Repository等。
        在对Mybatis自动扫描配置中,使用注解配置时,我们只要在@MapperScan中配置我们需要扫描的Mapper位置,大部分情况下是满足需求的。

        

你可能感兴趣的:(bug,mybatis,spring,spring,boot,java)