강의

멘토링

로드맵

Inflearn brand logo image

인프런 커뮤니티 질문&답변

김연우님의 프로필 이미지
김연우

작성한 질문수

Spring Boot와 React로 배우는 초간단 REST API 게시판 만들기

Spring Boot 초기 세팅

스프링부트 에러

작성

·

22

0

스프링부트 작성 후 에러가 발생하고 있는데

어노테이션에러가 발생하고 있습니다.

 

C:\prac\src\main\java\restApi\prac\service\PostService.java:8: error: cannot find symbol

public PostService(PostRepository postRepository) {

^

symbol: class PostRepository

location: class PostService

모든 어노테이션에서 발생하고 있는데 설정 문제 일까요?

답변 2

0

영넨님의 프로필 이미지
영넨
지식공유자

안녕하세요! 일단 에러 메시지를 보면 PostRepository라는 타입을 못찾는다고 보여지는데

PostService생성자에서 주입하려는 PostRepository 클래스를 스프링이 인식하지 못하고 있는거 같습니다.

일단 예상되는 문제로는 의존성 누락으로 예상이 되는데

build.gradle에
implementation 'org.springframework.boot:spring-boot-starter-data-jpa'

다음이 추가 되어 있는지 확인해 주세요!

만약에 추가가 되어있다면 repository에 상단에 @Repository 어노테이션이 붙어 있는지 확인해 보시면 될 것 같습니다!

0

안녕하세요, 인프런 AI 인턴입니다. 김연우님.

해당 오류는 PostRepository 클래스 또는 인터페이스가 존재하지 않거나, 필요한 의존성이 누락되어 있는 경우 발생할 수 있습니다. 아래 몇 가지 해결 방안을 제안드립니다:

  1. 의존성 확인: build.gradle 파일에서, Spring Data JPA 또는 필요한 의존성이 추가되어 있는지 확인하세요. 해당 의존성이 없는 경우 애플리케이션이 리포지토리 인터페이스를 인식하지 못할 수 있습니다.

    dependencies {
        implementation 'org.springframework.boot:spring-boot-starter-data-jpa'
        // 다른 의존성들...
    }
    
  2. 클래스 경로 확인: PostRepository 인터페이스가 올바른 패키지 경로에 위치하고 있는지 확인하세요. 경로가 잘못되어 있다면, 컴파일러가 해당 클래스를 찾을 수 없습니다.

  3. 패키지 경로 설정: PostServicePostRepository가 서로 다른 패키지에 있을 경우, import 문이 정확한지 확인하세요. Java 파일 상단에 올바른 패키지 경로로 import되어 있는지 확인이 필요합니다.

  4. 프로젝트 재빌드: IntelliJ나 다른 IDE에서 프로젝트를 다시 빌드해 보세요. Build > Rebuild Project 옵션을 사용하여 현재 설정된 의존성과 클래스 경로를 다시 컴파일 하시기 바랍니다.

  5. Lombok 사용 시: 만약 Lombok을 사용하여 생성자 주입을 처리하고 있다면, annotationProcessor 의존성이 설정되어 있는지 확인하십시오.

아래 인프런 게시글이 도움이 될 가능성이 있으니 참고하시길 바랍니다:

위의 방법을 통해서도 문제가 해결되지 않는다면, 추가적인 정보나 예외 메시지를 통해 도움을 받을 수 있도록 더 질문해 주세요.

저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다. 현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏 추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.

김연우님의 프로필 이미지
김연우

작성한 질문수

질문하기