@Value 어노테이션 사용 시 주의할 점을 설명해 주세요.

2024. 11. 28. 20:29·백엔드 면접

@Value 어노테이션 주의점

@Value는 설정 파일에 설정한 값을 주입할 수 있는 어노테이션입니다.

첫 번째로 주의해야 할 점은 주입 시점입니다. @Value 어노테이션은 대상 컴포넌트가 스프링 빈으로 등록되고 의존 관계를 주입할 때 동작합니다. 따라서 환경 변수를 주입받는 대상 클래스가 스프링 빈으로 등록되지 않았다면 해당 클래스는 @Value 어노테이션이 동작하지 않습니다.

 

또한 상황에 따라서 적절한 주입 방식을 선택해야 합니다. 빈을 주입받을 때와 마찬가지로 @Value 어노테이션을 사용할 때도 필드 주입, 생성자 주입, setter 주입 등의 방식을 사용할 수 있습니다. 따라서 상황에 따라 적절한 주입 방식을 선택해야 합니다.

 

마지막으로 프로퍼티 파일의 경로와 스코프를 확인해야 합니다. application.yml 또는 application.properties 파일에 환경 변수가 존재해야 하고, 프로퍼티 파일이 여러 개일 경우 우선순위를 고려해야 합니다.

 


 

@ConfigurationProperties 어노테이션과 차이점은 무엇인가요?

 

스프링의 프로퍼티 파일의 값은 Environment에 등록되는데요. 두 어노테이션 모두 이 값을 불러올 수 있다는 공통점이 있습니다. 단, @Value의 경우에는 단일 값을 주입받기 위해서 사용되며, Relaxed Binding이 적용되지 않습니다. Relaxed Binding이란 프로퍼티 이름이 조금 달라도 유연하게 바인딩을 시켜주는 규칙을 의미합니다. 반면, @ConfigurationProperties 어노테이션은 프로퍼티에 있는 값을 클래스로 바인딩하기 위해 사용됩니다. 그리고, 한 번에 여러 값을 바인딩 받을 수 있으며 Relaxed Binding을 적용합니다.

'백엔드 면접' 카테고리의 다른 글

엔티티 매니저에 대해 설명해 주세요.  (0) 2024.11.30
JPA의 ddl-auto 옵션에 대해서 설명해 주세요.  (0) 2024.11.29
Spring Data JPA에서 새로운 Entity인지 판단하는 방법은 무엇일까요?  (0) 2024.11.29
RAID 기술에 대해서 설명해주세요.  (0) 2024.11.28
OSIV 옵션에 대해서 설명해주세요.  (0) 2024.11.27
'백엔드 면접' 카테고리의 다른 글
  • JPA의 ddl-auto 옵션에 대해서 설명해 주세요.
  • Spring Data JPA에서 새로운 Entity인지 판단하는 방법은 무엇일까요?
  • RAID 기술에 대해서 설명해주세요.
  • OSIV 옵션에 대해서 설명해주세요.
이런개발
이런개발
geun-00의 흔적 보관소
  • 이런개발
    내일이 기대되는 오늘
    이런개발
  • 전체
    오늘
    어제
    • 분류 전체보기 N
      • 백엔드 면접
      • SQL N
        • SUM, MAX, MIN
        • SELECT
        • GROUP BY
        • JOIN
      • Spring
      • JPA
      • 트러블슈팅
      • Infra
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    JPA
    토스 페이먼츠
    티스토리챌린지
    데브코스
    백엔드 면접
    raid
    스프링
    오블완
    자바
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.5
이런개발
@Value 어노테이션 사용 시 주의할 점을 설명해 주세요.
상단으로

티스토리툴바