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

코코넛빵님의 프로필 이미지
코코넛빵

작성한 질문수

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

스프링 JdbcTemplate

중복회원, 회원가입 오류

작성

·

382

·

수정됨

0

[질문 내용]https://drive.google.com/file/d/1UqI2_8bN8k4yq1Zww3OVkDLQ_yS_tsPS/view?usp=sharing 

 

오류를 gpt 와 함께 찾아보니.. Autowired 주입하려는 필드가 빈으로 정의되어 있지 않다고 하는것 같더군요.ㅠ 그래서 의존성 주입이 되지 않는다고 합니다. 더하여서 JdbcTemplateMemberRepository 에 Autowired 어노테이션이 되지 않는 이유도 알고싶습니다. 

 

+ 스프링 오류 코드를 gpt에 돌려보고 어떤 코드인지 보는 저인데.. WARNING 뒤에 있는 것을 확인하고 오류를 찾으시는 걸까요?

답변 2

1

김영한님의 프로필 이미지
김영한
지식공유자

안녕하세요. 코코넛빵님

어디를 어떻게 실행해야 오류를 확인할 수 있을까요?

추가로 다음 내용도 코멘트 부탁드립니다.

1. 문제 영역을 실행할 수 있는 방법

2. 문제가 어떻게 나타나는지에 대한 상세한 설명

감사합니다.

1

안녕하세요, 인프런 AI 인턴입니다.

코코넛빵님, 문제 상황으로 보아 @Autowired를 사용해 빈을 주입하려고 했지만, 스프링이 관리하는 빈으로 등록되지 않아 발생하는 오류로 보입니다. 일반적으로 스프링에서 빈을 정의하기 위해서는 @Component, @Service, @Repository 등의 어노테이션을 클래스에 명시하거나, Java Config에서 @Bean 어노테이션을 메소드에 명시하여 빈을 등록해야 합니다. JdbcTemplateMemberRepository가 정상적으로 스프링 빈으로 등록되어 있지 않다면, 해당 클래스에 @Repository나 @Component 어노테이션을 추가하는 것을 확인해 보세요.

또한, ERROR나 WARNING 메시지는 스프링이나 Java 애플리케이션을 실행했을 때 발생한 문제를 나타냅니다. WARNING은 경고 수준의 이슈를, ERROR는 심각한 문제를 의미하며, ERROR 다음에 오는 메시지를 확인해야 실제 문제를 진단할 수 있습니다. 자세한 오류 메시지가 없어 정확한 오류 원인은 말씀드릴 수 없으나, 일반적으로 스프링 부트에서는 자동 구성(Auto Configuration) 과정에서 필요한 빈들을 스캐닝하고 등록하게 됩니다. 오류 메시지를 통해 누락된 빈이나 클래스가 무엇인지 파악하여 빈의 정의와 등록을 점검해 보시기 바랍니다.

코코넛빵님의 프로필 이미지
코코넛빵
질문자

@Repository를 달아 @Autowired 오류는 해결하였습니다, 정말 감사합니다! 더하여 회원가입 테스트 오류는 JdbcTemplateRepository에 쿼리 오타 오류였고, 중복회원가입 테스트 오류는 @Transactional 어노테이션을 클래스에 달았으니 메서드에 적용되었을거라 생각하고.. 메서드 따로 테스트 돌리고 있던 저의 문제였습니다.. 도움주셔서 감사합니다!

코코넛빵님의 프로필 이미지
코코넛빵

작성한 질문수

질문하기