• 카테고리

    질문 & 답변
  • 세부 분야

    백엔드

  • 해결 여부

    미해결

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

22.08.22 17:52 작성 조회수 190

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를 만들어 사용하면 되지 않을까요?