[Spring, Spring Boot] @Value가 null일 때의 원인과 해결 방법프로그래밍/Java2024. 6. 17. 19:44
Table of Contents
728x90
@Value란 ?
먼저 @Value 어노테이션의 경우 DB접속 정보나 비밀번호, secretKey와 같이 민감한 정보를 별도의 파일로 분리해서 환경 정보에 맞는 값을 불러오도록 하는 어노테이션입니다. application.properties 또는 application.yml에 값을 설정하면 필드나 메서드에 값을 주입해줄 수 있습니다 !
null을 반환할 때의 원인
@Value 어노테이션이 property의 값을 받아오지 못하는 경우는 크게 네 가지가 있습니다 !
properties 이름을 잘못 입력했을 경우
@Valse("${aws.secret-kee}")
상단의 코드와 같이 properties에 등록한 이름과 다를 경우 null값을 반환합니다.
Bean으로 등록되지 않은 경우
클래스를 Bean(@Component, @Service, @Controller)으로 등록하지 않으면 Spring이 의존성 주입을 할 수 없습니다.
static 변수로 받은 경우
@Value의 값은 static 변수로 받을 수 없습니다.
외부에서 해당 클래스를 new로 생성했을 경우
@Value 어노테이션은 Spring Context에 의존하기 때문에 해당 클래스가 Spring Bean으로 등록되어 있지 않으면 @Value 값은 null을 반환합니다.
'프로그래밍 > Java' 카테고리의 다른 글
[Java, 자바] 추상클래스와 추상메소드 (0) | 2024.06.19 |
---|---|
[Java, 자바] JVM의 동작원리와 기본개념 (0) | 2024.06.18 |
[StringBoot] Azure 번역기 API 사용하기 (0) | 2024.06.12 |
[Java, 자바] 추상 클래스(Abstract Class)와 인터페이스(Interface)는 언제 사용해야 될까? (0) | 2024.05.31 |
[Spring, SpringBoot] Controller에서 데이터 받는 방법 (@RequestBody, @RequestParam, @ParthVariable) (0) | 2024.05.27 |
@차나니 :: 차나니의 개발일지
개발의 모든 것 !
포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!