스프링 컨테이너 - 1
스프링 컨테이너 생성
ApplicationContext applicationContext = new AnnotationConfigApplicationContext(AppConfig.class);ApplicationContext를 스프링 컨테이너라 하며, 인터페이스다.스프링 컨테이너는 XML 기반과 애노테이션 기반의 자바 설정 클래스를 지원한다.
스프링 컨테이너 생성 과정

스프링 컨테이너를 생성할 때는 설정 정보를 지정해주어야 한다.(
AppConfig)

스프링 컨테이너는 파라미터로 넘어온 설정 클래스 정보를 사용해서 스프링 빈을 등록한다.
빈 이름은 메서드 이름을 사용하며 빈 이름을 직접 부여할 수 있다.
빈 이름은 항상 다른 이름을 부여해야 한다. 같은 이름을 부여하면 다른 빈이 무시되거나 기존 빈을 덮어버릴 수 있다.


스프링 컨테이너는 설정 정보를 참고해서 의존관계를 주입(
DI)한다.단순히 자바 코드를 호출하는 것이 아니라 싱글톤 컨테이너를 사용한다.
컨테이너에 등록된 빈 조회
ac.getBeanDefinitionNames(): 스프링에 등록된 모든 빈 이름 조회ac.getBean(): 빈 이름으로 빈 객체(인스턴스)를 조회한다.ac.getRole(): 스프링이 내부에서 사용하는 빈과 직접 등록한 빈을 구분할 수 있다.
빈 조회 - 기본
ac.getBean(빈 이름, 타입)ac.getBean(타입)조회 대상 스프링 빈이 없으면
NoSuchBeanDefinitionException예외가 발생한다.
빈 조회 - 동일한 타입이 둘 이상
빈 조회 - 상속 관계
부모 타입으로 조회하면 자식 타입도 함께 조회된다.
그래서
Object는 모든 자바 객체의 최고 부모이므로Object로 조회하면 모든 스프링 빈을 조회한다.
Last updated