spring boot 启动的时候required a bean of type ‘XXX’ not be
Deion:Field mapper in com.kaigejava.kgblog,service.impl.UserServiceImpl required a bean of type ‘com.kaigejava.kgblog.dao.UserDao’ that could not be found.Action:Consider defining a bean of type ‘com.kaigejava.kgblog.dao.UserDao’ in your configuration.
SpringBoot启动失败,告诉我Bean配置失败;
解决方案一:
添加@Mapper注解,
@Mapper
public interface UserDao(){
int insert(UserDomain record);
List<UserDomain> selectUsers();
}
重新启动,启动正常。
特别注意:
添加了@Mapper注解之后这个接口在编译时会生成相应的实现类
需要注意的是:这个接口中不可以定义同名的方法,因为会生成相同的id
也就是说这个接口是不支持重载的 。
说明:如果使用@Mapper这个注解的话,每个dao都需要添加麻烦。
解决方案二
使用@MapperScan:
@SpringBootApplication
@MapperScan("com.example.demo.model.dao")
public class GctimeApplication {
public static void main(String[] args) {
SpringApplication.run(GctimeApplication.class, args);
}
}
方案二使用@MapperScan就可以很好的解决该问题的。