회원가입을 진행할 때 무료로 아이템, 테마를 제공하는 기능을 추가하는데
계속 findById 부분에서 해당 테마를 못찾는 상황이 발생했다.
따로 에러가 발생하지 않아서 찾는데 30분정도가 걸렸다
// 3번 아이템 꺼냄
Items items = itemsRepository.findByItemNo(3L).get();
// 스티커 무료 제공
ItemsMapping itemsMapping = new ItemsMapping(savedUser, items);
itemsMappingRepository.save(itemsMapping);
// 1번 테마 꺼냄
Theme theme = themeRepository.findById(1L).get();
ThemeMapping themeMapping = new ThemeMapping(savedUser, theme);
themeMappingRepository.save(themeMapping);
이 부분이었는데
Theme theme = themeRepository.findById(1L).get();
여기서 계속 못찾는 에러가 발생했었다.
다시 천천히 찾아보니 의존성 주입을 해주지 않아서 문제가 발생했었다.
위에서 private ThemeRepository themeRepository;
이렇게 만들어주고 생성자 주입을 해주는데 따로 넣어주지 않아서 발생했던 오류였다.
생성자 주입을 할 때 필드에 final을 붙여주면 컴파일단계에서 캐치가 가능하다. 다음부터는 꼭 final 붙여야겠다.
두 개의 conf를 만들었다.