‣
스프링 프레임워크의 핵심이자 IoC의 주체객체의 생명 주기를 관리하고 의존 관계를 설정하는 역할
스프링 컨테이너에 의해 관리되는 객체. 스프링 컨테이너에 등록되어 의존성 주입을 받는다.
ApplicationContext
는 다양한 기능의 인터페이스를 상속받아 사용하고 환경 변수 설정, 메시지 국제화, 리소스 조회 등 다양한 부가 기능을 지원한다. AnnotationConfigApplicationContext
는 그 구현 객체다.
public class Main {
public static void main(String[] args) {
//ApplicationContext = 스프링 컨테이너
ApplicationContext context = new AnnotationConfigApplicationContext(AppConfig.class);
}
}
스프링 컨테이너의 상속 계층도
AppConfig
는 빈등록 설정 클래스파일이다. 클래스 뿐만 아니라 .xml, .json 형식으로도 빈등록이 가능하다. @Configuration
어노테이션으로 빈을 등록한 설정 파일임을 명시해주고, @Bean
어노테이션으로 빈을 등록한다. 스프링 컨테이너가 해당 설정파일에 명시된대로 빈을 생성하고 의존 관계를 연결한다.