[Spring] Spring 컨테이너란?

호두마루·2023년 10월 14일
0

Spring

목록 보기
6/17

스프링의 핵심 컴포넌트인 Spring 컴포넌트에 대해 정리해보았다.

Spring 컨테이너란?

Spring 컨테이너는 자바 객체인 Bean을 관리하는 공간을 의미한다.
Spring Bean의 생성부터 소멸까지의 수명 주기를 관리한다.

Spring 컨테이너 = Spring 컨텍스트 = IoC 컨테이너
모두 같은 의미로 사용된다.

Spring 컨테이너는 왜 사용하는가?
객체 간의 참조가 많으면 의존성이 높아지는데,
객체 간의 의존성을 낮추어 느슨한 결합으로 만들고, 높은 캡슐화를 만들기 위해 Spring 컨테이너를 사용한다.

Spring 컨테이너는 두 종류로 나눠진다.

1) Bean Factory

  • 가장 기본적인 Spring 컨테이너
  • 메모리에 심한 제약이 있는 경우 사용 (IoT 등)

2) Application Context

  • 엔터프라이즈 전용 기능이 있는 고급 Spring 컨테이너
  • 대체로 Bean Factory보다 Application Context를 사용
  • Spirng AoP 혹은 Spring 측면 지향 프로그래밍과 잘 통합되도록 하려는 시나리오에 적합

(+) Spring 컨테이너에 등록된 Bean 확인하기

spring 컨테이너에 등록된 모든 Bean을 확인해보고 싶다면?
spring 컨테이너에 Bean이 제대로 등록되었는지 확인해보고 싶다면?
아래 구문을 통해 확인할 수 있다.

Arrays.stream(context.getBeanDefinitionNames()).forEach(System.out::println);

steram의 모든 요소에 대해 forEach를 사용해 콘솔창에 출력해준다.

위와 같이 Bean들의 이름이 출력되는 것을 확인해볼 수 있다.

0개의 댓글