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

一、前言:

使用springboot自动注入的方式搭建好了工程,结果启动的时候报错了!!!,错误如下图:

Description:

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 {
}

ps:之所以没有找到对应的Bean是因为,@SpringBootApplication没有扫描到。

参考:关于spring boot自动注入出现Consider defining a bean of type 'xxx' in your configuration问题解决方案

 

原文地址:https://www.cnblogs.com/nananana/p/9333917.html