如何解决springboot启动的时候required a bean of type 'XXX' not be问题
作者:梵法利亚
Spring Boot启动失败,提示缺少`UserDao`类型的Bean,解决方案一:为`UserDao`接口添加`@Mapper`注解,重新启动;解决方案二:使用`@MapperScan`注解扫描Mapper接口所在的包
springboot启动的时候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就可以很好的解决该问题的。
总结
以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。