- ApplicationContext.java
// 스프링 컨테이너 생성
ApplicationContext applicationContext = new AnnotationConfigApplicationContext(AppConfig.class);
· ApplicationContext 는 스프링 컨테이너이자 인터페이스로, XML 기반으로 만들 수 있고, 어노테이션 기반의 자바 설정 클래스로 만들 수 있다. (XML 잘 안쓰고 어노테이션 기반 자바 설정 클래스를 주로 씀)
-> AppConfig 같은 어노테이션 기반 자바 설정 클래스를 이용해 스프링 컨테이너를 생성했다. (DI 컨테이너?)
· 자바 설정 클래스 기반으로 스프링 컨테이너(ApplicationContext) 생성
new AnnotationConfigApplicationContext(AppConfig.class); 클래스는 ApplicationContext 인터페이스 구현체
* 참고
스프링 컨테이너를 부를 때 BeanFactory, ApplicationContext 로 구분한다.
BeanFactory 를 직접 사용하는 경우는 거의 없으므로, 일반적으로 ApplicationContext 를 스프링 컨체이너라고 한다.
1. 스프링 컨테이너 생성 과정
1) 스프링 컨테이너 생성

스프링 컨테이너 생성시 구성 정보 지정 : AppConfig.class 를 구성 정보로 지정
-> new AnnotationConfigApplicationContext(AppConfig.class);
2) 스프링 빈 등록

스프링 컨테이너는 파라미터로 넘어온 설정 클래스 정보를 사용하여 스프링 빈 등록
빈 이름)
- 메서드 이름 사용
- name 속성을 통해 직접 부여 가능
ex) @Bean(name="memberService2")
※ 주의
빈 이름은 항상 다른 이름을 부여해야 한다.
같은 이름 부여시, 다른 빈이 무시되거나, 기존 빈을 덮어버리거나, 설정에 따라 오류 발생
-> 실무에서는 단순하고 명확하게!
3) 스프링 빈 의존관계 설정 - 준비

4) 스프링 빈 의존관계 설정 - 완료

스프링 컨테이너는 파라미터로 넘어온 설정 클래스 정보를 참고하여 의존관계 주입(DI)
(단순 자바 코드 호출로 보이지만, 차이 있음 - 싱글톤 컨테이너 개념)
* 참고
스프링은 빈 생성과 의존관계 주입하는 단계가 나누어져 있다.
위 예시처럼 자바 코드로 스프링 빈을 등록하면, 생성자를 호출하면서 의존관계 주입도 한 번에 처리된다.
(의존관계 자동 주입 개념)
2. 정리
스프링 컨테이너를 생성하고, 설정(구성) 정보를 참고해서 스프링 빈도 등록하고, 의존관계도 설정했다.
참고링크 : https://www.inflearn.com/course/%EC%8A%A4%ED%94%84%EB%A7%81-%ED%95%B5%EC%8B%AC-%EC%9B%90%EB%A6%AC-%EA%B8%B0%EB%B3%B8%ED%8E%B8?cid=325969
스프링 핵심 원리 - 기본편| 김영한 - 인프런 강의
현재 평점 5.0점 수강생 49,532명인 강의를 만나보세요. 스프링 입문자가 예제를 만들어가면서 스프링의 핵심 원리를 이해하고, 스프링 기본기를 확실히 다질 수 있습니다. 스프링 기본 기능, 스프
www.inflearn.com
'강의 실습 > 스프링 핵심 원리 - 기본편' 카테고리의 다른 글
| 스프링 빈 조회 - 기본 (0) | 2026.04.08 |
|---|---|
| 컨테이너에 등록된 모든 빈 조회 (0) | 2026.04.08 |
| 스프링으로 전환하기 (0) | 2026.04.06 |
| IoC, DI, 그리고 컨테이너 (0) | 2026.04.05 |
| 좋은 객체 지향 설계의 5가지 원칙의 적용 (0) | 2026.04.04 |
댓글