1. 개념
ApplicationContext applicationContext = new AnnotationConfigApplicationContext(AppConfig.class);
- ApplicationContext : 스프링 컨테이너라고 부름(인터페이스)
- 어노테이션 기반의 자바 설정 클래스로 만들 수 있음
- new AnnotationConfigApplicationContext(AppConfig.class) : ApplicationContext 인터페이스의 구현체
2. 생성과정
1) 스프링 컨테이너 생성

- 스프링 컨테이너 생성시 구성정보를 지정해줘야 함(ex.AppConfig.class)
2) 스프링 빈 등록

- 파라미터로 넘어온 설정 클래스 정보를 사용해서 스프링 빈을 등록함
- 빈 이름은? 메소드 이름을 그대로 사용 => 직접 부여할 수도 있음(@Bean(name="customName"))
- 주의!!! 빈 이름은 항상 달라야 함
3) 스프링 빈 의존관계 설정 - 준비

4) 스프링 빈 의존관계 설정 - 완료

- 스프링 컨테이너는 설정 정보를 참고해서 의존관계를 주입해줌