// 자바 설정 클래스 기반으로 스프링 컨테이너 생성
// AnnotationConfigApp..은 ApplicationContext의 구현체이다.
ApplicationContext ac = new AnnotationConfigApplicationContext(
AppConfig.class
);
ApplicationContext
은 스프링 컨테이너며 인터페이스이다.참고
스프링 컨테이너를 더 정확하게 부르면,BeanFactory
,ApplicationContext
로 구분해서 말한다.
BeanFactory를 직접 사용하는 경우는 거의 없어서 일반적으로 ApplicationContext를 스프링 컨테이너라고 생각하면 된다.
1. 스프링 컨테이너 생성
new AnnotationConfigApplicationContext(AppConfig.class)
2. 스프링 빈 등록
3. 스프링 빈 의존관계 설정
ac.getBeanDefinitionNames()
: 스프링에 등록된 모든 빈의 이름을 조회ac.getBean()
: 빈 이름으로 객체를 조회beanDefinition.getRole() == BeanDefinition.ROLE_APPLICATION
beanDefinition.getRole() == BeanDefinition.ROLE_INFRASTRUCTURE