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

두용님의 프로필 이미지
두용

작성한 질문수

스프링 핵심 원리 - 기본편

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

컨테이너 생성시 파라미터 전달하여 빈 등록하기

작성

·

375

0

@Test
void findAllBean() {
    ApplicationContext ac = new AnnotationConfigApplicationContext(AutoAppConfig.class,DiscountService.class);
    DiscountService discountService = ac.getBean(DiscountService.class);

 

DiscountService.class 를 파라미터로 넘기면서

해당 클래스를 자동으로 스프링 빈으로 등록한다고 알고 있습니다 .

static class DiscountService {

    private final Map<String, DiscountPolicy> policyMap;

    public DiscountService(Map<String, DiscountPolicy> policyMap) {
        this.policyMap = policyMap;

DiscountService 클래스가 빈으로 등록되었으니

그럼 여기 DiscountService 생성자는

@Autowired 가 생략되어있다고 볼수 있는건가요?

 

@Test
void findAllBean() {
    ApplicationContext ac = new AnnotationConfigApplicationContext(AutoAppConfig.class);
    DiscountService discountService = ac.getBean(DiscountService.class);
@Component
static class DiscountService {

    private final Map<String, DiscountPolicy> policyMap;
    
    @Autowired // 생성자가 1개인 경우 생략 가능
    public DiscountService(Map<String, DiscountPolicy> policyMap) {
        this.policyMap = policyMap;

 

위의 코드와 아래 코드는 동일하다고 볼 수 있나요?

 

답변 1

0

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

안녕하세요. 두용님

생각하신 내용이 맞습니다.

감사합니다.

두용님의 프로필 이미지
두용

작성한 질문수

질문하기