상세 컨텐츠

본문 제목

[전문가를 위한 스프링5] 자바 구성 애너테이션 목록

용어 공부

by dajingjing 2023. 9. 4. 11:14

본문

● 책 : 전문가를 위한 스프링 5

 4.10.1 자바로 ApplicationContext 구성하기.

 표 4-3. 자바 구성 애너테이션 목록(p.282)

 

@PropertySource

- 이 애너테이션은 프로터피 파일 위치를 인자(한 개 이상 제공가능)로 받아

여러 프로퍼티 파일을 스프링의 ApplicationContext로 읽어 들이는 데 사용됩니다.

XML에서는 <context:property-placeholder>가 같은 역할을 합니다.

 

@Lazy

- 이 애너테이션은 요청이 있을 때만 스프링이 빈을 초기화하도록 하며

XML의 lazy-init="true"와 동일합니다. 이 애너테이션의 기본값을 true 입니다.

따라서 @Lazy(value=true)는 @Lazy와 동일합니다.

 

@Scope

- 싱글턴이 아닌 빈 범위를 정의할 때 사용합니다.

(※싱글턴이 아닌, 요청을 받을 때마다 스프링 컨테이너가 매번 빈을 생성하는 프로토타입 빈의 경우

빈 소멸 전 이벤트를 통지하지 않는다. - 책 p.207 4.2 빈 라이프사이클 관리)

 

@DependsOn

- 이 애너테이션은 스프링에게 이 빈이 다른 특정 빈에 의존함을 알려줘

스프링이 의존관계에 있는 빈의 인스턴스를 먼저 생성하도록 합니다.

 

@Autowired

- 이 애너테이션은 바로 앞 예제에서 Environment 타입인 env 프로퍼티에 사용됐습니다.

이는 스프링이 제공하는 Environment 추상화 기능입니다.

'4.12 Environment와 PropertySource 추상화'에서 Environment 추상화를 살펴보겠습니다.

관련글 더보기