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

boydev572님의 프로필 이미지

작성한 질문수

스프링 핵심 원리 - 기본편

@Autowired 질문

20.12.31 22:43 작성

·

149

0

안녕하세요 영한님 !

강의 항상 잘 보고 있습니다.

@Autowired에 대해 질문이 있습니다.

"스프링 컨테이너가 관리하는 스프링 빈 이어야만 의존관계 자동주입을 할 수 있다" 라고 하셨는데,

'조회한 빈이 모두 필요할 때, List, Map' 강의에서 AllBeanTest클래스의 static클래스 DiscountSerive에서

@Autowired가 어떻게 쓰일 수 있는건가요 ?

답변 4

1

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

2021. 01. 02. 01:20

감사합니다 !

1

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

2021. 01. 01. 17:43

네 boydev572님 질문을 이해했습니다.

ApplicationContext ac = new AnnotationConfigApplicationContext(AutoAppConfig.class, DiscountService.class);

이렇게 AnnotationConfigApplicationContext에 파라미터로 넘어가면 별도의 설정이 없어도 자동으로 스프링 빈으로 등록됩니다. 여기서 AutoAppConfig.class, DiscountService.class 둘이 스프링 빈으로 등록된 것이지요^^

감사합니다.

0

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

2020. 12. 31. 23:01

빠른 답변 감사드립니다...!

스프링 빈에 등록되어야 조회가 가능한것이 아닌가요 ?

@Component나 @Configuration이 적혀있지 않은데 어떻게 DiscountService가 빈에 등록이 되어 있는건가요 ?

0

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

2020. 12. 31. 22:54

안녕하세요. boydev572님 

DiscountSerive도 스프링이 관리하는 빈입니다^^

다음 코드에서 처럼 스프링 컨테이너에서 조회합니다.

DiscountService discountService = ac.getBean(DiscountService.class);

감사합니다.