작성
·
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 어노테이션을 클래스에 달았으니 메서드에 적용되었을거라 생각하고.. 메서드 따로 테스트 돌리고 있던 저의 문제였습니다.. 도움주셔서 감사합니다!