모음/[스프링 퀵스타트]

[스프링 퀵스타트] Day1 - chapter3. 스프링 컨테이너 및 설정 (v2024)

ttoance 2024. 9. 28. 19:51

 

스프링 컨테이너는 애플리케이션의 객체들을 관리하고 의존성을 주입해주는 핵심 역할을 합니다. 스프링 컨테이너의 종류와 XML 설정 방식을 중심으로 설명해보겠습니다.

1. 스프링 컨테이너 구동 방식

스프링 컨테이너는 스프링 애플리케이션에서 객체를 생성, 관리하며, 다양한 구동 방식을 제공합니다.

  • BeanFactory: 스프링의 가장 기본적인 컨테이너로, 빈의 생성을 지연(lazy-loading)하여 애플리케이션의 시작 시간을 줄일 수 있습니다.
  • ApplicationContext: BeanFactory의 확장판으로 더 많은 기능을 제공합니다. 예를 들면, 이벤트 전달, 메시지 리소스 처리 등이 있습니다. ApplicationContext는 두 가지 주요 구현체를 가집니다.
    • GenericXmlApplicationContext: XML 설정 파일을 읽어 스프링 컨텍스트를 구성하는 클래스입니다.
    • XmlApplicationContext: XML 파일을 통해 빈 설정을 로드하는 컨테이너입니다.

 

2. 스프링 XML 설정

스프링 컨테이너는 주로 XML 설정 파일을 통해 객체의 생성과 초기화, 소멸 등을 관리합니다.

  • <beans> 엘리먼트: 스프링 설정의 루트 요소로, 여러 빈 정의를 포함합니다.
  • <import> 엘리먼트: 외부의 다른 XML 설정 파일을 가져올 때 사용합니다.
  • <bean> 엘리먼트: 객체(빈)를 정의하는 요소로, 다양한 속성을 통해 빈의 라이프사이클을 관리할 수 있습니다.
    • init-method 속성: 빈이 생성된 후 호출할 초기화 메서드를 지정합니다.
    • destroy-method 속성: 빈이 소멸될 때 호출할 메서드를 지정합니다.
    • lazy-init 속성: 필요할 때까지 빈의 생성을 지연시킬 수 있습니다.
    • scope 속성: 빈의 범위를 지정하며, 기본적으로 싱글톤(singleton)입니다.

 

3. XML 설정 파일 예시

XML 파일인 application.xml을 통해 컨테이너를 구성하고, 위의 설정 요소를 활용하여 애플리케이션의 빈을 관리할 수 있습니다.

반응형