스프링 컨테이너가 생성되는 과정
// 스프링 컨테이너 생성
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")
🚨주의🚨
빈 이름은 항상 다른 이름으로 부여해야 한다. 같은 이름을 부여하면, 다른 빈이 무시되거나, 덮어버리거나 설정에 따라 오류가 발생한다.
참고
- 스프링 빈을 생성하고, 의존관계를 주입하는 단계가 나누어져 있다.
- 그런데 이렇게 자바 코드로 스프링 빈을 등록하면 생성자를 호출하면서 의존관계 주입도 한번에 처리된다.
의존관계 자동 주입에 대해서 알아두자..!
(링크)