스프링 컨테이너(Spring Container)
스프링 컨테이너는 스프링 프레임워크의 핵심 구성 요소로, 자바 객체의 생명주기를 관리하고 필요한 추가 기능을 제공한다. 이러한 객체는 스프링에서 빈(Bean)이라고 하며, 컨테이너는 이 빈의 생성, 관리, 제거 및 의존성 주입을 책임진다. 스프링 컨테이너는 주로 XML 또는 어노테이션 기반의 자바 설정 클래스를 통해 구성된다.
@Configuration
public class AppConfig {
@Bean
public MemberService memberService() {
return new MemberServiceImpl(memberRepository());
}
@Bean
public MemberRepository memberRepository() {
return new MemoryMemberRepository();
}
}ApplicationContext applicationContext = new AnnotationConfigApplicationContext(AppConfig.class);
MemberService memberService = applicationContext.getBean("memberService", MemberService.class);
위 코드는 어노테이션 기반의 설정 정보를 통해 스프링 컨테이너를 초기화하고, 빈을 조회하는 과정을 보여준다.