java

关注公众号 jb51net

关闭
首页 > 软件编程 > java > springboot启动required a bean of type 'XXX' not be

如何解决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就可以很好的解决该问题的。

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

您可能感兴趣的文章:
阅读全文