Failed to load ApplicationContext 를 비롯해서 initializtion 오류 등 짜잘한 오류들이 조금 있었는데요
좋은 답변을 해주신게 많지만 결국 소스코드를 보지 않는한 찾기 어려운 부분들이 꽤 있었습니다.
혼자 해결해보는 것도 너무 좋은 방법이지만 방법을 찾지못해 지치는 분들을 위해 제가 겪은 이슈들 공유해봅니다.
RunWith 어노테이션 임포트 안됨 -> Jnit기본 버전이 바뀌어서 그렇습니다. 5를 사용하면 필요없는 어노테이션인데 이게 스프링 버전이 올라가면서 아예 5버전을 밀어주는 느낌인지 4로 바꾸려면 gradle에 별도로 Junit 관련된 코드를 추가해주어야합니다. 소스 코드 다운받거나 검색하면 쉽게 나옵니다. 저는 스프링 버전도 강의와 똑같이 맞춰놓았습니다.
initialization 오류 -> Junit 임포트를 잘못했을 경우 발생합니다. import가 두가지인데 import org.junit.Test; 를 해주시면됩니다. Junit5의 경우 jupiter가 들어간걸로 하는거 같은데 현재 강의를 따라가시려면 그냥 쥬피터가 아닌 어노테이션 붙여주시면 됩니다.
Failed to load ApplicationContext 해당 오류가 다른 분들도 가장 많이 겪으신 오류인듯합니다. 제 경우랑 크게 해결방법은 세가지로 보였습니다.(이 글을 보기 전에 해결방법을 여러가지 스스로 찾아보시는것도 추천드립니다)
단순 오타 -> 은근히 있는 케이스입니다. 테스트가 익숙하지 않아 테스트 문제겠거니 할 수 있지만 오타로 인한 경우도 있습니다.
H2 디비 -> jpa가 db랑 소통하기 때문에 db가 연결되어야합니다. 활성화가 되어있는지 확인해주셔야합니다.(+버전, db파일이 제대로 생성되었는지 확인)
application.yml -> 그대로 따라했는데 뭐가 문제지? 확인을 정말 많이했는데 올려주신 코드를 보고 알았습니다. ;MVCC=TRUE를 빼고 올려주신 코드로 따라하니 잘되었습니다. 좋은 강의지만 시간이 지나면서 달라진점이 있는 듯 합니다.
그 외로 자바 버전이 다른가해서 찾아봤는데 강의에서는 8버전이지만 코드를 받아보면 11버전이고 그래서 둘 다 해봤는데 여기 진도까지 자바 버전으로 인한 문제는 없어보입니다.
안녕하세요. 문희석님, 공식 서포터즈 OMG입니다.
이슈 해결 경험 공유 감사합니다 :)
답글