@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