본문 바로가기
WEB,WAS/Spring

[Spring] dependson, lazy 어노테이션

by Rainbound-IT 2023. 7. 7.
반응형

 

  1. @DependsOn 어노테이션:
    • @DependsOn 어노테이션은 스프링 컨테이너가 해당 빈의 초기화를 수행하기 전에 특정 다른 빈의 초기화를 보장하도록 지정하는 데 사용됩니다.
    • 어노테이션에는 String 배열 형태로 해당 빈이 의존하는 다른 빈의 이름을 지정합니다. 이를 통해 빈들 간의 초기화 순서를 명시적으로 지정할 수 있습니다.
    • @DependsOn 어노테이션을 사용하면 해당 빈의 초기화가 의존하는 다른 빈의 초기화가 완료된 이후에 발생합니다.
  2. @Lazy 어노테이션:
    • @Lazy 어노테이션은 스프링 컨테이너가 해당 빈을 실제로 필요한 시점에 초기화하도록 지정하는 데 사용됩니다.
    • 기본적으로 스프링은 모든 빈을 싱글톤으로 생성하고 컨테이너를 로드할 때 즉시 초기화합니다. 하지만 @Lazy 어노테이션을 사용하면 해당 빈의 초기화가 필요한 시점까지 늦추는 것이 가능합니다.
    • @Lazy 어노테이션을 사용하여 빈을 지정하면, 해당 빈은 처음으로 요청되거나 참조될 때까지 생성되지 않습니다. 이를 통해 애플리케이션 시작 시점에 많은 자원을 초기화하는 데 드는 비용을 줄일 수 있습니다.

 

인스턴스가 여러 어노테이션을 참조할때는 dependson, 아무것도 참조안할때는 Lazy를 사용하여 생성해야한다.

반응형

댓글