인프런 영문 브랜드 로고
인프런 영문 브랜드 로고

인프런 커뮤니티 질문&답변

이왕로님의 프로필 이미지

작성한 질문수

스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술

순수 JDBC

SrpingConfig 오류

작성

·

52

·

수정됨

0

학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.

1. 강의 내용과 관련된 질문을 남겨주세요.
2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.
(자주 하는 질문 링크: https://bit.ly/3fX6ygx)
3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.
(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)

질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.
=========================================
[질문 템플릿]
1. 강의 내용과 관련된 질문인가요? (예/아니오)
2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)
3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)

[질문 내용]

리턴을 JdbcMemberRepository로 변경시 하단의 사진과 같은 오류가 나는데 기존걸로 돌리면 오류가 없어집니다

왜 그러는 걸까요?

return new JdbcMemberRepository(dataSource);

image.pngimage.png

 

image.png

왜 빈을 만드는데 다 실패했다고 뜨는지...딱히 잘못해보이는게 없어 보이는데 무엇이 문제인지 모르겠습니다.

답변 2

0

y2gcoder님의 프로필 이미지

안녕하세요. 이왕로님, 공식 서포터즈 y2gcoder입니다.

SpringConfig 에서

@Bean
public MemberRepository memberRepository() {
    // return new MemoryMemberRepository();
    return new JdbcMemberRepository(dataSource);
}

이 부분에서 반환타입을 강의와 다르게 하신 것 같습니다! MemberRepository 인터페이스 타입으로 반환하게 변경한 뒤 다시 시도해보시겠습니까?

감사합니다.

0

인프런 AI 인턴님의 프로필 이미지

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

SpringConfig에서 JdbcMemberRepository 반환 시 발생하는 오류에 대한 문제를 겪고 계신 것 같습니다. 주신 이미지와 설명을 기반으로 몇 가지 확인해볼 수 있는 포인트를 제시해 드립니다.

  1. JdbcMemberRepository 타입 확인: 현재 JdbcMemberRepository가 프로젝트에서 제대로 정의되어 있는지 확인해보세요. 해당 클래스 파일이 존재하지 않거나 패키지 임포트가 문제가 될 수 있습니다.

  2. 의존성 설정: JdbcMemberRepository 클래스의 임포트 부분을 확인하여 올바른 패키지에서 불러오고 있는지 체크하세요. 추가적으로 Maven의 경우 pom.xml, Gradle의 경우 build.gradle에서 관련 의존성을 누락하지 않았는지 확인하신 후, 필요하다면 프로젝트를 새로고침(Refresh) 해보십시오.

  3. 빈 설정 확인: Spring Configuration에서 JdbcMemberRepository를 빈으로 등록하는 부분을 다시 확인해보세요. 반드시 필요한 빈이 등록돼 있어야 하며, @Bean 애노테이션이 올바르게 설정됐는지 체크하세요.

아래 유사한 문제를 겪은 다른 학습자의 사례와 해결 방법을 공유드립니다:

이 유사한 질문에서 제공하는 해결 방법들을 따라해 보시고, 문제 해결이 되지 않는다면 추가적으로 JdbcMemberRepository의 패키지와 클래스 구조를 고심할 필요가 있습니다.

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