• 카테고리

    질문 & 답변
  • 세부 분야

    백엔드

  • 해결 여부

    미해결

home.html

23.05.27 13:32 작성 조회수 545

0

스프링 실행이 안되서 보니까h2연동을 안해서 그렇던데, 항상 h2를 연결해야지 스프링이 등록이 되는 이유가 무엇인가요 ?

답변 1

답변을 작성해보세요.

0

y2gcoder님의 프로필

y2gcoder

2023.05.28

안녕하세요, 김지수 님. 공식 서포터즈 y2gcoder 입니다.

영한님께서 항상 해주시는 말씀 중에 스프링 부트의 설정과 관련하여 항상 구체적인 것이 우선한다는 말씀이 있습니다. 스프링 부트는 많은 부분을 자동화해주는데, 여기서 우리가 직접 설정을 입력하면 그게 보통 자동설정보다 우선한다는 뜻입니다. application.yml 에 DB에 대한 연동정보(url, username) 등을 입력했을 때는 위에서 언급한 것처럼 개발자가 자동설정에 우선하는 설정을 해준 것이기 때문에 애플리케이션 입장에서는 해당 설정을 가지고 DB를 연결하려고 합니다.

그리고 개인적으로 김지수님의 말씀을 듣고 생각해보니 해당 상황에서는 DB가 구동 중이 아닐 때는 애플리케이션이 실행되지 않도록 하는 것이 맞겠다는 생각이 들었습니다. 먼저 DB 연결 정보를 명시해놓은 애플리케이션이라는 뜻은 기본적으로 DB가 필요한 애플리케이션입니다. 그런데 연결하려는 DB가 정상적으로 작동하지 않는 상황에서 애플리케이션이 이상없이 실행된다면, 개발자 입장에서는 지금 애플리케이션에 DB가 정상적으로 연결되어있다는 착각을 하고 배포 및 구동이 잘된 것으로 이해할 수 있습니다. 만약 실제 운영 중인 애플리케이션이 이런 식으로 DB 연결이 되지 않은 상태로 구동되고, 사용자가 서비스를 이용할 때 DB 연결 장애가 일어난다면, 애플리케이션 구동 시 문제가 생기는 것보다 더 큰 문제라고 생각합니다.

감사합니다.