java - Spring 启动: Repository interface not found with annotations

标签 java spring repository

我创建了一个简单的应用程序,它使用 Spring boot 和 JPA/Hibernate 将消息保存在 postgresql 数据库中。 所有包 Controller/Service/Repository 都位于子包中。

但是我收到一个错误:spring boot 无法识别 DAO 包中的存储库接口(interface)。

我有另一个项目,所有工作都无需使用@EnableJpaRepositories,但在这个项目(相同的结构)中我遇到了这个问题。

项目结构:

app.shellx(函数main())

---- app.shellx.dao

---- app.shellx.controller

---- app.shellx.service

MessageRepository.java

package app.shellx.dao;

import org.springframework.data.repository.CrudRepository;
import org.springframework.stereotype.Repository;

import app.shellx.model.Message;

@Repository
public interface MessageRepository extends CrudRepository<Message, Long> {

}

MessageServiceImpl.java

package app.shellx.service;

import java.util.List;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

import app.shellx.dao.MessageRepository;
import app.shellx.model.Message;

@Service
public class MessageServiceImpl implements MessageService {

    @Autowired
    private MessageRepository messageRepository;

    public void add(Message message) {
        this.messageRepository.save(message);
    }

}

Eclipse 中的错误代码:

<小时/>

应用程序无法启动

<小时/>

描述:

app.shellx.service.MessageServiceImpl 中的字段 messageRepository 需要“app.shellx.dao.MessageRepository”类型的 Bean,但无法找到。

注入(inject)点有以下注解: - @org.springframework.beans.factory.annotation.Autowired(required=true)

行动:

考虑在您的配置中定义“app.shellx.dao.MessageRepository”类型的 bean。

编辑:问题已解决。 这是一个依赖错误。 只需添加此 Maven 依赖项即可运行:

org.springframework.boot spring-boot-starter-data-jpa 2.1.4.RELEASE

最佳答案

正确命名并放置包, com.app - SpringBootApplication com.app.controller - Controller 类 com.app.repo - Repo 类扩展 CrudRepository (如果提及任何注释请删除) com.app.model - 您的表类(实体)

Spring boot 将自动配置

关于java - Spring 启动: Repository interface not found with annotations,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55846237/

相关文章:

java - 将虚拟机标记为模板并使用 VI SDK 克隆虚拟机

java - 是否有真实世界的 Spring 和 Hibernate 示例的来源?

git - 如何更新或同步 GitHub 上的 fork 存储库?

java - 我的 spring 应用程序没有收到我的 GET

c# - 使用通用存储库更新实体失败

git - 拆分现有存储库并将最新提交应用到另一个存储库

java - Heroku 仅适用于刷新

java - 复制特定 Java 应用程序的 Java 首选项文件

java - 图像未显示在 JPanel 上

Spring Roo Jpa 设置失败,maven-eclipse-plugin 问题?