Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

1. 설정 메타데이터(Configuration metadata)

  • 스프링 컨테이너가 애플리케이션의 객체를 어떻게 인스턴스화하고, 설정하고, 조합해야 하는지 지시하기 위한 정보

2. 스프링이 기본적으로 제공하는 설정 메타데이터

  • XML 기반의 설정 메타데이터
  • 애노테이션 기반의 설정 메타데이터 (스프링 2.5에서 도입)
    Anchor
    body_ref_01
    body_ref_01
    [1]
  • 자바 기반의 설정 메타데이터 (스프링 3.0에서 도입)
    Anchor
    body_ref_02
    body_ref_02
    [2]

3. 설정 메타데이터의 기본구조

XML 기반의 설정 메타데이터

Gister macro
gistUrlhttps://gist.github.com/ChoiYoungMok/52a587cd8a37ea42d86b79b9f2b5cd97

애노테이션 기반의 메타데이터

Note
title참고

애노테이션 기반의 설정 메타데이터를 활용하기 위해서는 컴포넌트 스캔을 사용해야하며, 이를 위해 XML 또는 자바 기반의 설정 메타데이터를 통해서 컴포넌트 스캔 설정을 해야 함.

Gister macro
gistUrlhttps://gist.github.com/ChoiYoungMok/5211d7b42ad2dbe0cbf4481e3c0fa024

자바 기반의 설정 메타데이터

Gister macro
gistUrlhttps://gist.github.com/ChoiYoungMok/e8fdf5107827a32615c811b67ce43c0d

4. 설정 메타데이터의 장단점

 XMLAnnotationJavaConfig
장점
  • 사용자가 작성하는 POJO 자바 코드에 침투하지 않음(비침투적 기술)
  • 설정이 적고, 간편함
  • 타입 세이프(type-safe)를 보장함
단점
  • 리소스 파일(XML)이 많아짐
  • 애노테이션이 붙은 클래스들은 POJO가 아님(침투적인 기술)
  • 설정이 분산되어서 제어하기 어려움
    (컴포넌트 스캐닝을 사용하기 위해서는 반드시 XML 또는 JavaConfig를 통해서 활성화 해야 함)
  • 일부 기능은 제공하지 않을 수 있음

 


Anchor
comment_01
comment_01
[1] ^ 새로운 기능 2.5 (추후 링크 필요)

Anchor
comment_02
comment_02
[2] ^ 새로운 기능 3.0