[에러] [Database/h2] 게시판 만들기 h2 연결하기 중 발생한 오류

zini9188·2023년 2월 20일
0

문제해결

목록 보기
2/8
Description:

Parameter 0 of constructor in com.restBoard.board.service.BoardService required a bean of type 'com.restBoard.board.entity.BoardRepository' that could not be found.

Action:

Consider defining a bean of type 'com.restBoard.board.entity.BoardRepository' in your configuration.

h2를 연결하기 위해 Repository를 작성하는 과정에서 위와 같은 오류가 발생했다.

설명문을 보면 BoardService의 빈으로 BoardRepository가 필요한데 찾을 수 없다는 것 같다.
그래서 BoardRepository를 빈으로 등록하는 것을 고려하라고 한다.

문제의 서비스 클래스와 레포지토리 클래스..

public interface BoardRepository extends CrudRepository<Board, Long> {
}
@Service
public class BoardService {
    private final BoardRepository boardRepository;

    public BoardService(BoardRepository boardRepository) {
        this.boardRepository = boardRepository;
    }
}

뭐가 문제인지 모르겠어서 여러가지 시도들을 해봤다.

Repository에 @Repository도 붙여보고 블로그 글과 스택오버플로우에 있는 여러가지 어노태이션들을 붙여봤지만 해결되지 않았다. 그러다 눈에 들어온 Board 엔티티....

@Getter
@Setter
public class Board {
    @Id
    private Long boardId;
    private String title;
    private String content;
    private String username;
}

엔티티라고 만들어놨는데 @Entity를 붙이지 않았다. 혹시 이것 때문인가? 라는 생각으로 붙이고 실행하니 정상적으로 작동한다.

사실 이 부분에 대해서는 잘 이해가 가지 않는다. 공부를 더 해서 추후에 추가적으로 작성해야 할 것 같다.

profile
똑같은 짓은 하지 말자

0개의 댓글