1. 문제 정의
고전적이지만, AppConfig 클래스를 따로 만들어서 mapRepository와 DBRepository를 수동 빈 등록을 해둔 상태이다.(2번째 그림)
근데 @Autowired를 사용할 때, 에러 표시로 빨간 줄이 뜬다.
더 웃긴건 스프링부트 서버 실행은 잘된다?
2. 해결방안 접근
1) 에러 메시지 확인1
예..? 해결 방안이 없다구요..?
2) 에러 메시지 확인 2
경고 내용을 볼 때, 자동 의존주입(Autowired)을 받기 위해서는 현재 클래스(DBService) 또한 마찬가지로@Component,@Service 등의 어노테이션을 통해 스프링 빈으로 등록되어 있어야 한다고 한다.
3) 스프링 빈으로 정상 등록됐는지 확인
위처럼 AppConfig 클래스에 @Bean 애노테이션을 써서, Bean으로 등록은 했으나, 정말로 등록됐는지 확인.
누락됐을 수도 있으니깐..?
일단 가볍게 테스트코드로 작성해서 스프링 컨테이너에 담긴 Bean을 모두 조회해봤다.
있네..? 그러면 정말 @Service 어노테이션을 안붙여서 생긴 문제일까?
3) @Service 어노테이션 추가
잘된다. 물론 필드 주입은 추천하지 않는다고 뜨긴 하다만.. 지금은 그게 중요한게 아니지
'Development > TrobleShooting' 카테고리의 다른 글
[Gasip Project] JPA / could not initialize proxy - no Session. (2) | 2023.11.07 |
---|---|
[Gasip Project] 왜 Column Name이 중복이라고 뜨죠? _ DuplicateMappingException (2) | 2023.11.05 |
[Git] Push가 안되는 이유는? git remote : Permission to ---The requested URL returned error: 403 (6) | 2023.10.16 |
인텔리제이 read-only가 안풀려서 도저히 코딩을 못하겠다. (0) | 2023.09.07 |
인텔리제이에서 어노테이션 인식이 안되요 (0) | 2023.08.17 |