강의

멘토링

커뮤니티

Inflearn コミュニティ Q&A

投稿者なし

この投稿の投稿者情報は削除されました。

Spring BootとAWSでバックエンドサービスを一通り完成させる

Spring Data JPAを扱う

application.yaml에서 enabled: true 인식 안됨

解決済みの質問

作成

·

51

2

Spring Data JPA 다루기 영상 5:47까지 따라하는 와중에 enabled: true에서 enabled에 노란 밑줄이 그이고 true가 제대로 인식되지 않습니다. 무슨 문제인지 도저히 모르겠습니다.

image.png

 

image.png

awsmysqldockerspring-bootjpa

回答 4

1

제가 쓴 질문은 아닌데 이거 보고 그냥 스프링부트 버전을 내렸더니 잘 돼요

https://medium.com/@raushan1156/h2-console-not-working-in-spring-boot-4-0-0-7873e20c82d5

apiece님의 프로필 이미지
apiece
インストラクター

추가로 답변달아주셔서 감사합니다 👍

강의에서는 springboot 3.4.4 를 사용하기 때문에 정상적으로 잘되었네요!

springboot 4.0.0 이상을 사용하신다면, 위 댓글에 드린 답변대로 하시면 됩니다.

https://inf.run/Rxx6n

 

감사합니다!

0

apiece님의 프로필 이미지
apiece
インストラクター

안녕하세요! 질문자님 그리고, 배상진님 감사합니다.

저도 Spring Boot 4.0.0 에서 동일한 현상을 경험했습니다.

  • spring.h2.console.enabled에 노란 밑줄이 뜨고 인식되지 않는 이유는, Spring Boot 4.0부터 자동 설정(auto-configuration)이 모듈별로 분리되면서 H2 Console 관련 설정이 별도 모듈로 빠졌기 때문입니다.

  • 스프링부트 기존(3.x)에는 runtimeOnly("com.h2database:h2") 의존성만 추가하면 H2 Console이 자동 설정되었지만, 4.0부터는 implementation("org.springframework.boot:spring-boot-h2console") 모듈을 명시적으로 추가해야 합니다.

     

build.gradle.kts

implementation("org.springframework.boot:spring-boot-h2console")

이 의존성을 추가하면 spring.h2.console.enabled 속성이 정상 인식되고, /h2-console 경로로 접속할 수 있습니다.

  • runtimeOnly("com.h2database:h2") 는 위 의존성안에 있기 때문에 별도 추가하지 않으셔도 됩니다.

공식 문서 참고: https://docs.spring.io/spring-boot/reference/data/sql.html#data.sql.h2-web-console

 

질문자분 그리고, 관심을 가지고 추가 답변해주신분 모두 감사드립니다!

 

0

apiece님의 프로필 이미지
apiece
インストラクター

안녕하세요!

 

enabled: true 자체는 Spring Boot에서 정상적으로 인식되는 설정이라 문법 문제일 가능성은 낮아 보입니다. 보통 IDE에서 Spring 설정 메타데이터를 제대로 인식하지 못할 때 노란 밑줄이 표시되는 경우가 있습니다.

혹시 h2 의존성이 build.gradle에 추가되었는지 확인부탁드립니다.

그리고 Gradle 리프레시를 하거나 IntelliJ에서 캐시 재빌드(Invalidate Caches / Restart)를 한 번 시도해 보시면 좋을 것 같습니다.

 

그래도 해결되지 않는다면 사용 중인 Java 버전, Spring Boot 버전, 그리고 현재 개발 환경을 함께 알려주시면 동일한 환경으로 직접 테스트해보겠습니다.

(제 환경에서 다시 실행해보았는데 동일한 설정으로 정상 동작하는 것을 확인했습니다.)

 

감사합니다.

0

안녕하세요, 인프런 AI 인턴입니다. 이도윤님.

Spring Boot에서 application.yaml 파일 내의 enabled: true 설정이 인식되지 않는 문제를 겪고 계시는 것 같습니다. 특정 설정이 인식되지 않는 경우 다음과 같은 사항을 확인해 보는 것이 좋습니다:

  1. YAML 파일의 구조 확인: YAML 파일은 들여쓰기(인덴트)가 매우 중요합니다. enabled: true 설정이 적절한 위치와 들여쓰기로 되어 있는지 확인해 주세요. 잘못된 인덴트는 설정이 무시되게 할 수 있습니다.

  2. 의존성 확인: H2 콘솔을 포함한 여러 설정이 인식되지 않는 경우, 필요로 하는 의존성이 제대로 추가되어 있는지 확인해야 합니다. Maven이나 Gradle의 설정 파일에 H2 데이터베이스 의존성이 추가되어 있는지 확인해 주세요.

예시:

   <!-- Maven -->
   <dependency>
       <groupId>com.h2database</groupId>
       <artifactId>h2</artifactId>
       <scope>runtime</scope>
   </dependency>
   // Gradle
   implementation 'com.h2database:h2'
  1. 애플리케이션 설정 확인: application.yaml 파일과 관련된 문제가 아니라 프로젝트 전체의 설정 문제일 수도 있습니다. 다른 설정 파일이나 클래스레벨에서 설정이 잘못되어 있거나 충돌이 있는지 확인해 보세요.

  2. 빌드 및 재시작: 설정 파일을 수정한 후에는 프로젝트를 클린 빌드하고 애플리케이션을 재시작해 보세요. IDE나 빌드 도구의 캐시 문제일 수 있습니다.

  3. 멀티 프로파일 설정 사용 여부: 특정 프로파일이 활성화되어 있어 다른 설정 파일을 읽고 있지는 않은지 확인해 보시기 바랍니다.

위의 단계를 적용해도 문제가 해결되지 않는다면, 아래의 유사한 질문을 참고할 수 있도록 링크를 드립니다:
- Spring Boot H2 콘솔 설정 관련

저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다. 현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏 추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.

投稿者なし

この投稿の投稿者情報は削除されました。

質問する