Notice
Recent Posts
Recent Comments
Link
꾸준한 개발일기
스프링 컨테이너(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)를 읽어서 스프링 컨테이너를 생성하는 구현체
✅ 자바 코드로 설정 관리 → 유지보수성이 높고, 타입 안정성이 뛰어남
반응형
'Programing > 스프링' 카테고리의 다른 글
@Configuration이란? (0) | 2025.03.21 |
---|---|
Thread(스레드)란? (0) | 2025.03.20 |
웹 애플리케이션과 싱글톤 컨테이너란? (0) | 2025.03.07 |
Spring:: IntelliJ에서 Gradle 버전 업그레이드 방법 (0) | 2024.08.21 |
intellij로 eclipse 프로젝트 import하기 (0) | 2024.03.29 |
Comments