강의

멘토링

커뮤니티

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

qpal1zm23님의 프로필 이미지
qpal1zm23

작성한 질문수

스프링 프레임워크 핵심 기술

IoC 컨테이너 1부: 스프링 IoC 컨테이너와 빈

BeanFactory와 ApplicationContext 중 사용하고 싶은 컨테이너를 설정 할 수 있나요?

작성

·

349

0

안녕하세요! 강의를 듣던 중 

BeanFactory 와 ApplicationContext에 대해 조금 더 알아 보다가

 

BeanFactory는 lazy loading 방식을 사용하고

ApplicationContext는 pre loading 방식을 사용한다는것을 배웠습니다. 

 

예제에는 

직접 설정 파일을 읽는 예제가 나왔는데요, 아래 예를 들면

 

ApplicationContext context = new ClassPathXmlApplicationContext("aaa.xml");

A a = (A) context.getBean( "A" );

이처럼 직접 코드에서 

어떤 xml을 읽을 지와 어떤 컨테이너를 사용해서 빈을 불러올지를 지정하는 형태였는데요.

 

실제로 스프링 코드를 개발 하다보면 위와 같이 사용하는 것 보다

개발자는 단순히 어노테이션을 붙여서 사용하고 

빈을 불러다가 주입하는 부분은 스프링에게 맡기잖아요

 

그러면 예시 코드의 

ApplicationContext context = new ClassPathXmlApplicationContext("aaa.xml");

이 부분은 저희가 생성하는 부분이 아닌데,

 

만약 개발자가 빈들의 특성에 맞춰서 로딩되는 시점에 차이를 두고자 

어떤 빈들은 Bean Factory로 관리하고 싶고

어떤 빈들은 ApplicatonContext로 관리하고 싶을 때

명시적으로 지정해 주는 방법이 있을까요??

 

 

답변 1

0

백기선님의 프로필 이미지
백기선
지식공유자

필요한 시점에 직접 ApplicationContext 또는 BeanFactory를 만들어 사용하면 되지 않을까요?

qpal1zm23님의 프로필 이미지
qpal1zm23

작성한 질문수

질문하기