스프링 빈이란?
스프링 빈이란 스프링 IoC 컨테이너가 생성하고 관리하는 객체!!
자바에서 new MyClass()로 직접 객체를 만드는 대신, 스프링이 대신 생성하고, 필요할 때 꺼내서 쓸 수 있는 관리 대상 객체를 의미한다
스프링 컨테이너란?
스프링 빈을 생성하고, 관리하고, 연결해 주는 관리자라고 생각 하면 된다
- 생성 시점
- 초기화 메서드 실행
- 종료 시 정리
를 알아서 관리해 준다
스프링 컨테이너 생성과정
1. 스프링 컨테이너 생성

보통 스프링 컨테이너를 생성할 때
new AnnotationConfigApplicationContext(Appconfig.class)
를 사용해서 스프링 컨테이너를 만들기 시작한다
이것의 의미는 Appconfig.class라는 구성정보를 정의한 class를 이용해서 Spring이 컨테이너를 만들기 시작한다
2. 스프링 빈 등록

이후 스프링 컨테이너는 AppConfig에 @Bean이 붙은 Method를 다 호출하면서 스프링 빈 저장소에 등록하기 시작한다
이때 빈이 스프링 컨테이너에 등록될 때
- 빈의 이름은 Method의 이름으로
- value는 해당 메서드가 return 하는 객체로 등록한다
3. 스프링 빈 의존관계 설정

이전 단계에서 Appconfig를 보면서 스프링이 스프링 컨테이너로 빈을 다 가져왔다. 지금까지의 상황을 그림으로 보면 다음과 같다
이제 스프링은 이 가져온 빈들을 알맞게 엮어 주는 역할을 한다 이 단계를 의존관계 설정이라고 한다
즉 스프링은 모든 빈들을 다 컨테이너로 가져온 다음 가져온 모든 빈들을 의존관계에 맞춰 엮는 역할을 진행한다

그렇게 의존관계에 따라 빈들을 엮으면 스프링 컨테이너가 만들어지게 된다
정리하자면
- 스프링은 모든 빈을 다 생성하고 → 그다음에 의존관계로 엮기 시작한다
- 라이프 사이클상 빈 생성과 의존관계가 나눠져 있는데 실제 우리가 스프링을 쓰면 생성자를 호출하면서 (빈등록) 의존관계 주입도 한 번에 처리된다
빈 조회 방법
- name과 Type(interface)으로 조회 가능
- Type(interface) 조회 가능
- retrun 해서 나오는 구현체 타입으로 조회
스프링 빈 조회 상속 관계
기본 대원칙 : 부모타입을 조회하면 자식 빈들은 다 끌려 나온다
그래서 자바의 최상위 객체인 Object 객체를 이용해 Object 타입으로 조회를 하면 모든 스프링 빈이 다 조회된다
'🌿 스프링 > 김영한' 카테고리의 다른 글
| 3. 스프링의 싱글톤 컨테이너 (0) | 2026.02.08 |
|---|---|
| 2. Bean팩토리와 ApplicationContext (0) | 2026.02.08 |
| 2. 서블릿 (0) | 2026.02.07 |
| 1. 웹 애플리케이션의 이해 (0) | 2026.02.07 |
| 빈 생명주기 콜백 함수 와 빈 스코프 (2) | 2025.08.25 |