项目结构应该是正确的。
@Repository
public interface UserDao {
public User getById(int id);
}
Dao层的代码,使用接口。
@Service
@Service
public class UserService {
@Autowired
UserDao userDao;
public User getById(int id) {
return userDao.getById(id);
}
}
service层代码。
controller层注入service。
启动spring boot后会提示dao层没有扫描到,如果@ComponentScan dao层的话,会提示service层注入失败,求解。
使用Spring Boot就是有几个方法
Template,hibernate,JPA
你应该使用的是后两种,使用后两种,你的@Respository对象,也就是DAO,应该实现JpaRepository或者CurdRepository,
如果不这样,应该注释@Query方法进行自定义查询,你试一下,都是这么搞的。
对了
JpaRepository<你的特定对象,ID标识类型>
这么声明,试一下
有没有忘了设置连接属性到项目配置文件?
实体类有没设置到表名?
Spring Data可以创建@Repository各种风格的接口的实现. 但是 ,这个地方是重点
Spring Boot可以为你处理所有这些事情,只要这些@Repositories包含在你@EnableAutoConfiguration班级的同一个包(或一个子包)中。