김솔샤르
김솔샤르의 인사이트
김솔샤르
전체 방문자
83,549
오늘
38
어제
153
  • 분류 전체보기 (48)
    • IT (43)
      • 개발로그 (9)
      • 개발지식 (22)
      • 개발일기 (4)
      • 전산학 (3)
      • 기타 (4)
    • 칼럼 (3)
    • 생활정보 (2)

인기 글

  • Gradle Repository를 변경해보자
    2020.12.19
    Gradle Repository를 변경해보자
  • [자바스크립트] debugger 활용법
    2018.02.04
    [자바스크립트] debugger 활용법
  • [자바스크립트] arrow function⋯
    2018.08.13
    [자바스크립트] arrow function⋯
  • Spring Data JPA의 saveAll()⋯
    2021.01.31
    Spring Data JPA의 saveAll()⋯
  • [자바스크립트] sort() 함수 활⋯
    2018.08.18
    [자바스크립트] sort() 함수 활⋯

최근 댓글

  • 부족한 글 읽어주셔서 감사합니⋯
    김솔샤르
  • 좋은 글 잘 읽었습니다. 본문에⋯
    사이다
  • 저는 직접 Exception을 handlin⋯
    김솔샤르
  • 남의 인생에 도전을 강요할 수⋯
    김솔샤르
  • 혹시 예외처리는 어떻게 하셨나⋯
    devdev

최근 글

  • [Java] List -> Map 변환은 신⋯
    2022.05.29
  • 기술 꼰대
    2022.05.29
  • [개발일기] 저는 지극히 평범한⋯
    2022.05.08
  • Spring Data JPA @Query 사용시⋯
    2022.04.24
    Spring Data JPA @Query 사용시⋯
  • [개발일기] 재택 근무 2년 간의⋯
    2022.04.21

태그

  • 월드컵
  • 자바스크립트
  • 맨유
  • 축구
  • JavaScript
  • 러시아월드컵
  • 개발자
  • 포그바
  • 루니
  • jpa

티스토리

블로그 메뉴

  • 홈
  • 태그
  • 방명록
hELLO · Designed By 정상우.
김솔샤르

김솔샤르의 인사이트

IT/개발지식

Springboot yaml 파일에 List 세팅하기

2021. 8. 5. 00:28

 

yaml property에 list 형식의 데이터를 세팅해줘야 되는 경우가 있다. 이런 경우 두 가지 방식이 있는데, 먼저 아래와 같이 "- "(dash and space) 문법을 활용하면 자바에서 Collection 필드에 주입할 수 있다.

 

my:
 servers:
 - dev.example.com
 - another.example.com

 

그러면 자바 코드에서는 아래와 같이 Collection 필드에 주입된다. dash 뒤에 공백을 한 칸 줘야하는 것을 꼭 잊지말자.@ConfigurationProperty 말고 @Value를 사용할 수도 있는데, @ConfigurationProperty는 bulk injection이 되므로 데이터가 계층 구조일때 편의성이 있다. 반면 단일 필드를 사용할때는 @value가 더 간편한 경우도 있다. 이 밖에 여러 자잘한 차이들이 있긴하나 중요한 내용은 아닌 것 같으므로 궁금하면 자세히 설명해둔 참조글을 읽어보자.

 

@ConfigurationProperties("my")
public class Config {
    private Set<String> servers;
    
    //getter and setter
}

 

또는 String 배열로 바인딩 하는 방법도 있는데, yaml 파일에서 comma로 value를 구분해주면 된다. 

my:
 servers: dev.example.com, another.example.com

 

자바에서 String 배열 타입에 주입되게 된다.

 

@ConfigurationProperties("my")
public class Config {
    private String[] servers;
    
    //getter and setter
}

 

개인적으로 dash 구분이 깔끔하고 좋은 것 같다. String 배열을 꼭 써야겠다면 컬렉션으로 받아서 parsing하면 된다.

 

 

참조

 

https://www.baeldung.com/spring-boot-yaml-list

https://docs.ansible.com/ansible/latest/reference_appendices/YAMLSyntax.html

https://developpaper.com/differences-between-springboot-value-and-configuration-properties/

반응형
저작자표시비영리변경금지

'IT > 개발지식' 카테고리의 다른 글

Spark 개발 환경 구축하기 - Scala, IntelliJ, SBT  (0) 2021.10.04
Spring Batch - Paging 처리시 주의점  (0) 2021.09.26
Springboot yaml 파일에 List 세팅하기  (0) 2021.08.05
객체지향 의존 역전 원리(DIP) 제대로 알기  (0) 2021.08.02
Redis의 다양한 구성을 빠르게 따라해보자  (0) 2021.06.14
Git commit 이력을 깔끔하게 관리하는 2가지 방법  (0) 2021.01.31
김솔샤르
김솔샤르
기술 그리고 삶
댓글쓰기
다음 글
목적 조직에서 개발자로 살아남기
이전 글
객체지향 의존 역전 원리(DIP) 제대로 알기
  • 이전
  • 1
  • ···
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • ···
  • 48
  • 다음

티스토리툴바