스프링 컨테이너가 생성되는 과정
// 스프링 컨테이너 생성
ApplicationContext applicationContext = new AnnotationConfigApplicationContext(AppConfig.class);
ApplicationContext를 스프링 컨테이너라 한다.ApplicationContext는 인터페이스!AppConfig를 사용했던 방식이 애노테이션 기반의 자바 설정 클래스로 스프링 컨테이너를 생성한 것이다.ApplicationContext)를 만들어 봅시다!new ApplicationConfigApplicationContext(AppConfig.class);ApplicationContext 인터페이스의 구현체!참고
스프링 컨테이너를 부를 때,
BeanFactory,ApplicationContext로 구분해서 이야기한다.BeanFactory를 직접 사용하는 경우는 거의 없으므로 일반적으로ApplicationContext를 스프링 컨테이너라고 한다.

new AnnotationConfigApplicationContext(AppConfig.class)AppConfig.class를 구성 정보로 지정했다.
빈 이름 🥜
- 빈 이름은 메서드 이름을 사용한다.
- 빈 이름을 직접 부여할 수도 있다.
@Bean(name="memberService2")🚨주의🚨
빈 이름은 항상 다른 이름으로 부여해야 한다. 같은 이름을 부여하면, 다른 빈이 무시되거나, 덮어버리거나 설정에 따라 오류가 발생한다.


참고
- 스프링 빈을 생성하고, 의존관계를 주입하는 단계가 나누어져 있다.
- 그런데 이렇게 자바 코드로 스프링 빈을 등록하면 생성자를 호출하면서 의존관계 주입도 한번에 처리된다.
의존관계 자동 주입에 대해서 알아두자..!
(링크)