springboot 工程启动 Consider defining a bean of type ‘XXX’ in your configuration

工程启动时错误如下:

Field userEntityMapper in com.xxx.xxx.service.UserService required a bean of type 'com.xxx.xxx.dao.UserEntityMapper' that could not be found.

Action:

Consider defining a bean of type 'com.xxx.xxx.dao.UserEntityMapper' in your configuration.

解决方案如下:

  1.检查注解是否有误

  2.解决方式:  

步骤一:

  在springboot的配置文件添加,mybatis的配置如下所示:

mybatis:
  typeAliasesPackage: com.xxx.xxx.dao.entity
  mapperLocations: classpath:mapper/*.xml

 步骤二:

  ①将接口与对应的实现类放在与application启动类的同一个目录或者他的子目录下,这样注解可以被扫描到,这是最省事的办法。(没测试)
  ②或者在启动类上加上@MapperScan或者@ComponentScan注解,手动指定application类要扫描哪些包下的注解,如下所示: 

@SpringBootApplication
@ComponentScan(basePackages = {"com.xxx.xxx.dao"})

  ③或者在接口上添加@Mapper注解。

@Mapper
public interface UserMapper {
}

 

当时之所有不成功,是因为数据源没有指定到Mapper对应的位置引起的。

posted @ 2020-04-28 22:05  樱花树下的蓝天  阅读(315)  评论(0)    收藏  举报