꾸준한 개발일기

스프링 컨테이너(ApplicationContext)의 구현체 AnnotationConfigApplicationContext란? 본문

Programing/스프링

스프링 컨테이너(ApplicationContext)의 구현체 AnnotationConfigApplicationContext란?

꾸개일 2025. 3. 19. 06:28
반응형

🔍 AnnotationConfigApplicationContext란?

AnnotationConfigApplicationContext스프링 컨테이너(ApplicationContext)의 구현체로,
자바 기반 설정 클래스(@Configuration)를 읽어서 스프링 빈을 등록하고 관리하는 역할을 합니다.


🔎 왜 사용하는가?

과거 XML 기반의 스프링 설정 대신, 자바 코드(@Configuration, @Bean)를 활용한 설정을 지원하기 위해 사용됩니다.

  • 📌 과거 방식 (XML 기반 스프링 설정)→ 유지보수가 어렵고, 타입 안전성이 낮음
<beans>
    <bean id="memberService" class="com.example.MemberServiceImpl"/>
</beans>
  • ✅ 현재 방식 (자바 기반 설정)타입 안전성 보장, IDE의 지원 가능(컴파일 시 오류 감지 가능)
@Configuration
public class AppConfig {
    @Bean
    public MemberService memberService() {
        return new MemberServiceImpl();
    }
}

따라서 AnnotationConfigApplicationContext(AppConfig.class)를 사용하면,
AppConfig 클래스의 설정 정보를 기반으로 스프링 컨테이너가 객체를 관리하도록 합니다.


📌 스프링 컨테이너(ApplicationContext) 생성

ApplicationContext ac = new AnnotationConfigApplicationContext(AppConfig.class);
  • AppConfig.class 를 읽어 스프링 컨테이너(ApplicationContext)를 생성
  • @Configuration 및 @Bean 으로 등록된 빈을 관리

🎯 정리

AnnotationConfigApplicationContext → 자바 기반 설정 클래스(@Configuration)를 읽어서 스프링 컨테이너를 생성하는 구현체
자바 코드로 설정 관리 → 유지보수성이 높고, 타입 안정성이 뛰어남

 

반응형
Comments