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를 붙이지 않았다. 혹시 이것 때문인가? 라는 생각으로 붙이고 실행하니 정상적으로 작동한다.
사실 이 부분에 대해서는 잘 이해가 가지 않는다. 공부를 더 해서 추후에 추가적으로 작성해야 할 것 같다.