728x90
반응형
yml 파일을 작성하고 security 의존성을 추가하였다.
그리고 에러가 발생..하였다....
🚨 에러 발생
invocation of init method failed ; nested exception is org.hibernate.service.spi.serviceexception
다음과 같은 오류가 발생했을 때는
- H2 데이터베이스가 켜져 있는지 확인하고 안 켜져 있다면 H2 데이터 베이스를 켜준다.
- application.yml 파일 확인
yml 파일 확인을 해 보았다.
spring:
datasource:
driver-class-name: com.mysql.cj.jdbc.Driver
위의 형태와 같이 작성이 되어 있었고 h2 속성은 작성되지 않았다. 문제의 이유는 아래와 같았다.
- Driver 클래스 오류
'driver-class-name'에 보면 mysql설정이 되어있다.
➡️ 'org.h2.Driver'로 변경해준다.
- URL 을 추가(수정)
URL을 H2 데이터베이스의 JDBC URL로 추가(수정)한다.
➡️ 'url: jdbc:h2:mem:test'
그래서 아래와 같이 yml 파일을 수정하였다.
spring:
h2:
console:
enabled: true
path: /h2
datasource:
url: jdbc:h2:mem:test
이후 다시 RUN 하고 로그인을 시도하였더니 H2도 문제없이 들어가졌다.
💬 느낀 점
프로젝트를 진행하며 yml파일이 작성이 되어있지 않은 상태였다. 그래서 yml파일을 작성하는데 yml 파일의 구성요소들에 대한 이해가 부족하여 이전에 작업했던 pre-project의 파일을 보고 그대로 작성하였다.
그랬더니 예상치 못한 결과가 발생했는데 아무래도 위의 말 처럼 이해가 부족하다보니 작성하면서도 이상한 점을 발견하지 못 하였던 것 같다.
하나 하나 꼼꼼히 살피고 내가 작성하는 코드는 어떻게 쓰이고 어떤 역할을 하는지 정도는 알아야 하는데 신경쓰도록 해야겠다. 또한, 사용 용도에 따라 yml 코드가 바뀌는데 어떻게 변경되는지에 대한 공부도 필요할 듯 하다.
📖 공부할 때 보면 좋을 사이트 (링크)
🔗 SPRING BOOT 공식 문서 : https://docs.spring.io/spring-boot/docs/current/reference/html/application-properties.html
🔗 YAML 공식 사이트: https://yaml.org/
🔗Online YAML Validator : https://codebeautify.org/yaml-validator#google_vignette
📖 참고 블로그
🔗 [SPRING] 스프링부트 H2 데이터베이스 연동 오류
"이 포스팅은 쿠팡 파트너스 활동의 일환으로, 이에 따른 일정액의 수수료를 제공받습니다."
728x90
반응형