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

용맹돌맹님의 프로필 이미지

작성한 질문수

스프링 핵심 원리 - 기본편

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

findAllBean 테스트 오류(member를 빈으로 등록하라는 오류)

작성

·

315

0

[질문 내용]
여기에 질문 내용을 남겨주세요.

 

섹션 7의 조회한 빈이 모두 필요할 때, List, Map

강의 위치 => 05:02

 

@Autowired에 빨간 밑줄이 가서 다른 질문글을 찾아보고 DiscountService에 @Component 어노테이션을 달아줬습니다.

그래도 똑같은 오류가 뜹니다.

 

package hello.core.autowired.allbean;

import hello.core.AutoAppConfig;
import hello.core.discount.DiscountPolicy;
import hello.core.member.Member;
import org.junit.jupiter.api.Test;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.annotation.AnnotationConfigApplicationContext;
import org.springframework.stereotype.Component;

import java.util.List;
import java.util.Map;

public class AllBeanTest {
    @Test
    void findAllBean(){
        AnnotationConfigApplicationContext ac = new AnnotationConfigApplicationContext(AutoAppConfig.class, DiscountService.class, Member.class );
    }

    //기존 orderService를 수정하면 코드 수정하기 복잡해져서 테스트용 클래스 따로 만들음.
    @Component
    static class DiscountService{
        private final Map<String, DiscountPolicy> policyMap;
        private final List<DiscountPolicy> policies;

        @Autowired
        public DiscountService(Map<String, DiscountPolicy> policyMap, List<DiscountPolicy> policies) {
            this.policyMap = policyMap;
            this.policies = policies;
            System.out.println("policyMap = " + policyMap);
            System.out.println("policies = " + policies);
        }
    }
}

org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'member' defined in file [C:\Users\hotay\OneDrive\바탕 화면\study\core\core\build\classes\java\main\hello\core\member\Member.class]: Unsatisfied dependency expressed through constructor parameter 0: No qualifying bean of type 'java.lang.Long' available: expected at least 1 bean which qualifies as autowire candidate. Dependency annotations: {}

답변 2

0

용맹돌맹님의 프로필 이미지
용맹돌맹
질문자

이미 설정이 gradle로 되어있습니다.ㅠㅠ 해결방안2, 해결방안 3으로 해본 상태인데 오류는 여전합니다..

스프링 부트 버전 이슈는 아니였네요 😀

코드 올려주신 https://www.inflearn.com/questions/1259113/unsatisfieddependencyexception%EC%97%90%EB%9F%AC%EA%B0%80-%EC%95%88%EC%9E%A1%ED%9E%99%EB%8B%88%EB%8B%A4 링크를 참고해주세요 ^^

0

안녕하세요. 용맹돌맹님, 공식 서포터즈 OMG입니다.

스프링부트 3.2부터 발생하는 버전 차이로 인한 이슈로 보이네요 😀

아래 링크의 영한님 답변(영한님 댓글은 2개입니다 😀) 해결방안3 을 참고해주세요^^

https://www.inflearn.com/questions/1089023/

감사합니다.