programming/Spring
[Spring Boot] application.yml의 리스트 값 사용하기
LeeBorn
2020. 10. 7. 22:11
반응형
기본적인 사용법은 여기에서 확인할 수 있다.
리스트를 사용하려면 아래와 같이 사용하면 된다.
application.yml
messenger:
list: KAKAOTALK,SLACK,LINE,TELEGRAM
그리고 spring boot에서 application.yml의 값을 가져와서 사용하려면 아래와 같이 사용할 수 있다.
application.yml의 값을 String 또는 설정된 enum값으로 사용할 수 있다.
MainController.java (1) - List <String>로 사용
import org.springframework.beans.factory.annotation.Value;
@RestController
public class MainController {
@Value("${messenger.list}")
List<String> list;
public void test(){
for(String messenger : list){
System.out.println("messenger : " + messenger);
}
}
}
MainController.java (2) - List <Messengers>로 사용
import org.springframework.beans.factory.annotation.Value;
@RestController
public class MainController {
@Value("${messenger.list}")
List<Messengers> list;
public void test(){
for(Messenger messenger : list){
System.out.println("messenger : " + messenger);
}
}
}
Messensers는 enum인데 문자열과 마찬가지로 불러와서 사용할 수 있다.
Messengers.java
public enum Messengers {
SLACK,KAKAOTALK,LINE,TELEGRAM;
}
실행결과
만약, application.yml 에 Messengers에 선언되지 않은 값이 포함되면 에러를 발생시킨다.
application.yml
list: KAKAOTALK,SLACK,LINE,TELEGRAMSS
error
for value 'TELEGRAMSS'; nested exception is java.lang.IllegalArgumentException:
반응형