스프링 컨테이너
ApplicationContext applicationContext
= new AnnotationConfigApplicationContext(AppConfig.class);
- ApplicationContext를 스프링 컨테이너라 한다.
- ApplicationContext는 인터페이스이다. = 다형성이 적용되어 있다.
- AnnotationConfigApplicationContext는 ApplicationContext 인터페이스의 구현체이다.
- 컨테이너 생성시 컨테이너 안의 스프링 빈 저장소에 파라미터들을 저장
- 스프링 컨테이너는 파라미터로 넘어온 설정 클래스 정보를 사용해서 스프링 빈을 등록(객체 생성, 저장)한다.
⚠빈의 이름은 항상 다른 이름을 부여해야 한다!!!!!
- 스프링 컨테이너는 설정 정보를 참고해서 의존관계를 주입(DI)한다.
- 단순히 자바 코드를 호출하는 것 같지만, 차이가 있다.
스프링 빈 조회 - 상속 관계
- 부모 타입으로 조회하면, 자식 타입도 함께 조회한다