강의

멘토링

커뮤니티

Inflearn コミュニティ Q&A

bsm771254273 のプロフィール画像
bsm771254273

投稿した質問数

Spring核心原理 - 基本編

섹션 4 <컨테이너에 등록된 모든 빈 조회> 질문

作成

·

225

·

編集済み

0

ApplicationContextInfoTest 클래스에서 질문이 있는데요 기존에는 스프링 컨테이너를 생성해주는 코드를

ApplicationContext applicationContext = new AnnotationConfigApplicationContext(AppConfig.class); 였는데 이번 강의에서는 AnnotationConfigApplicationContext ac = new AnnotationConfigApplicationContext(AppConfig.class); 로 사용하신 거에 대해서 ApplicationContext로 선언했을 때와 AnnotationConfigApplicationContext로 선언한 것의 차이점이 궁금합니다.

spring객체지향

回答 2

0

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

ppj2130님 말씀처럼 인터페이스와 다형성의 관계로 보셔도 되며

(실제로 ApplicationContext는 인터페이스, AnnotationConfigApplicationContext는 클래스입니다)

해당 테스트에서는 아래 이미지와 같이 AnnotationConfigApplicationContext 타입에서만 사용 가능한 getBeanDefinition()을 사용하기 위함이기도 합니다.

image(ApplicationContext 타입의 ac2에서는 getBeanDefinition을 호출할 수 없습니다 😀)

직접 작성하여 확인보시면 좋을 것 같아요^^

감사합니다.

bsm77125님의 프로필 이미지
bsm77125
質問者

아하! 감사합니다~~

0

차이는 없어보이긴하는데,,

리스트도 ArrayList<String> list = new ArrayList<>(); 와

List<String> list = new ArrayList<>(); 가 차이가 없는 것처럼

그냥 부모를 누구를 참조하냐의 차이 아닐까요?

bsm771254273 のプロフィール画像
bsm771254273

投稿した質問数

質問する