본문 바로가기
오류를 개발새발

@Value 에서 기본값 주입하기

by 휴일이 2023. 12. 7.

@Value 를 사용하면 application.yml(properties) 에서 정의된 값을 임의로 가져올 수 있다.

그런데 이 값을 정의하지 않고도 spring 이 제공하는 defulat 값을 사용 가능하다.

 

 

    @Value("${spring.mail.username:some default}")
    private String mailId;

이렇게 :some default 값을 적어주면 스프링이 알아서 디폴트 값을 넣어준다.

 

자 그럼 한번 보자

 

:some default 를 추가하기 전에는 아래 오류가 발생한다.

spring.mail.username 값을 찾을 수 없다는 오류

 

 

여기에 :some fefault 를 추가하면?

 

똑같은 예외긴 하지만

자세히 보면 some default 가 붙은 username 값이 아니라 password 값이 없다고 뜬다.

그렇다, username 값은 디폴트 값이 붙었으니 넘어가고 이제 패스워드 값을 내놓으라는 얘기다.

 

 

 

그러면 나는 이제 spirng.mail.username 을 application.yml 에 정의했음에도 얘가 왜 잡질 못하는지를 해결하러 가보겠다...

728x90