spring boot 启动的时候required a bean of type 'XXX' not be

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

发布了30 篇原创文章 · 获赞 8 · 访问量 2万+

猜你喜欢

转载自blog.csdn.net/wg22222222/article/details/84658169
今日推荐