스프링 컨테이너 ApplicationContext를 스프링 컨테이너라고 한다. 이는 인터페이스로 어노테이션 기반의 자바 설정 클래스로 만들 수도 있고(AnnotationConfigApplicationContext) XML 기반으로 스프링 컨테이너를 만들 수도 있다.(GenericXmlApplicationContext) 최근에는 XML 기반 설정은 잘 사용하지 않으나 기존의 많은 레거시 프로젝트들이 XML로 되어있는 경우가 많다. BeanFactory는 스프링 컨테이너의 최상위 인터페이스로 스프링 빈을 관리하고 조회하는 역할을 담당한다. getBean() 등 대부분의 기능을 BeanFactory에서 제공한다. ApplicationContext는 BeanFactory 기능을 모두 상속받아 사용하는데, 대체로..