스프링 컨테이너는 BeanFactory 와 ApplicationContext 가 있다. 일반적으로 ApplicationContext를 주로 사용한다.

BeanFactory factory = new XmlBeanFactory(new FileInputStream("meber.xml"));
MyBean myBean = (Mybean) factory.getBean("myBean");
2)ApplicationContext (org.springframework.ApplicationContext)

(1)의의
(2) 어플리케이션 컨텍스트 구현체
어떤 ApplicationContext를 선택하느냐는 설정 메타데이터의 정의 방법(XML,애너테이션,자바 코드 등)과 애플리케이션의 유형에 따라 달라진다.
ClassPathXmlApplicationContext : 클래스 파일 경로(path)에 위치한 xml 파일에서 컨텍스트 정의 내용을 읽어들인다.
FileSystemxmlApplicationContext : 파일 시스템이 지정한 위치에 지정된 xml 파일에서 컨텍스트 정의 내용을 읽어들인다.
XmlWebApplicationContext : 설정 정보를 xml형태로 정의한 웹 어플리케이션에 포함된 xml 파일에서 컨텐스트 정의 내용을 읽어들인다.
AnnotationConfigWebApplicationContext: 자바 코드를 통해 설정 메타 데이터를 정의하는 웹 애플리케이션에 적합니다.
ApplicationContext ac = new ClassPathXmlApplicationContext("classpath:Meta-INF/spring/applicationContext.xml");
MyBean bean = context.getBean("myBean");
ApplicationContext ac = new AnnotationConfigApplicationContext(AppConfig.class);