Tag Archives: yml

properties to yml 변환

Spring Boot로 초간단 프로젝트를 진행할 일이 있어서 spring initializr에서 Gradle + Java 21 + Spring Boot 4.0.0으로 기본셋 구성 후 파일을 받았는데, application.properties 파일이 기본으로 생성되어 있는게 아닌가?

개인적으로 yml(yaml) 파일이 반복적인 타이핑 없어서 선호하는 관계로 application.properties 파일을 application.yml파일로 변환하려고 찾아보니, spring boot는 *.properties / *.yml 모두 지원하니 그냥 형식에 맞게 변환 ㄱㄱ 하면서 간략히 요약 정리.

YAML to Properties Converter Online for MAGEDDO

https://mageddo.com/tools/yaml-converter

1. Properties와 YML 파일의 차이점

  • Properties: 키-값 쌍으로 구성된 단순 텍스트 파일 (예: key=value).
  • YML: 계층적 구조를 지원하는 가독성 높은 데이터 직렬화 형식 (YAML Ain’t Markup Language).
  • 변환 이유: YML은 계층 구조 표현이 용이하고, 스프링 부트 등에서 기본 지원.

2. 변환 방법

(1) 수동 변환

  • Properties 파일 확인: 예를 들어, application.properties:
server.port=8080
spring.application.name=testApp
spring.datasource.url=jdbc:mysql://localhost:3306/test
spring.datasource.username={id}
spring.datasource.password={pwd}
  • YML 구조로 변환: 계층 구조를 반영해 application.yml 작성:

server: port: 8080 spring: application: name: testApp datasource: url: jdbc:mysql://localhost:3306/test username: {id} password: {pwd}
  • 주의사항:
    • Properties의 점(.)은 YML에서 계층을 나타내는 들여쓰기로 변환.
    • YML은 공백에 민감하므로, 2칸 들여쓰기를 준수.
    • 리스트는 하이픈(-)으로 표현 (예: list: – item1 – item2).

(2) 자동 변환 도구

3. 변환 시 주의사항

  • 키 이름 충돌: Properties는 중복 키를 허용하나, YML은 허용하지 않음.
  • 특수 문자: Properties에서 사용된 특수 문자는 YML에서 이스케이프 처리.
  • 스프링 부트 호환성: YML 파일은 application.yml로 저장해 스프링 부트에서 자동 인식.
  • 검증: 변환 후 YML 파일을 yamllint로 유효성 검사.