강의

멘토링

로드맵

Inflearn brand logo image

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

쥬쥬쥬쥬님의 프로필 이미지
쥬쥬쥬쥬

작성한 질문수

스프링 핵심 원리 - 기본편

조회한 빈이 모두 필요할 때, List, Map

policiMap, policies 값이 나오지 않아요

작성

·

34

0

[질문 내용]

image.png

policiMap, policies 값이 비어서 나옵니다.

 

image.png

혹시 AutoAppConfig의 위치나 코드를 제가 잘못한게 있는걸까요?

답변 3

0

안녕하세요. 쥬쥬쥬쥬님, 공식 서포터즈 David입니다.

작성하신 코드에서 AutoAppConfigTest가 애플리케이션 컨텍스트 생성시 전달되고 있습니다.

AutoAppConfig를 전달해 주셔야 하는데 잘못 작성하신걸로 보여집니다.

이 부분 확인 부탁드립니다.

image.png

 

감사합니다.

0

쥬쥬쥬쥬님의 프로필 이미지
쥬쥬쥬쥬
질문자

  1. 두번째 캡쳐에 나와있듯이 AutoAppConfig 클래스의 @ComponentScan 어노테이션이 basePackages = "hello.core"으로 되어있습니다.

  2. DiscountPolicy의 구현체들이 @Component로 등록되어 있음에도 값이 들어오지 않아 NPE가 발생합니다

0

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

policyMappolicies 값이 비어 있는 문제의 주요 원인은 보통 스프링에서 @ComponentScan이 빈으로 등록할 클래스들을 찾지 못하기 때문입니다. 따라서 AutoAppConfig 클래스와 관련하여 다음 사항들을 확인해 보세요:

  1. 패키지 구조 확인:

    • AutoAppConfig 클래스의 @ComponentScan 어노테이션이 basePackages = "hello.core"에서 DiscountPolicy를 참조하는 모든 패키지를 포함하고 있는지 확인하세요. 모든 필요한 빈이 공통 부모 패키지 아래에 있는지 확인하는 것이 중요합니다.
  2. 클래스에 @Component 확인:

    • FixDiscountPolicyRateDiscountPolicy와 같은 DiscountPolicy의 구현체들이 @Component로 등록되어 있는지 확인하세요. 이 어노테이션이 없으면 Spring의 컴포넌트 스캔에서 해당 클래스를 인식하지 못합니다.

관련 내용을 이전 질문과 답변에서 참고할 수 있습니다:

위의 링크는 유사한 문제를 해결하는 데 도움이 될 것입니다. AutoAppConfig의 위치 또는 구성에 문제가 있는지, @ComponentScan의 설정이 올바른지, 그리고 DiscountPolicy 관련 클래스들이 제대로 구성되어 있는지 확인하는 것이 중요합니다.

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

쥬쥬쥬쥬님의 프로필 이미지
쥬쥬쥬쥬

작성한 질문수

질문하기