Application.properties 란?
Spring boot 는 외부 구성을 사용하여 속성을 정의하는 관행을 가지고 있습니다.
이를 통해 다른 환경에서 동일한 어플리케이션을 운영할 수 있습니다.
주로 속성파일, yaml 파일, 환경 변수, 및 명령 줄 인수를 사용합니다.
왜 사용할까?
아래는 application.properties 의 예시입니다.
spring.datasource.hikari.driver-class-name=com.mysql.cj.jdbc.Driver
spring.datasource.hikari.jdbc-url=jdbc:h2:dev
spring.datasource.hikari.username=UN
spring.datasource.hikari.password=pass
data source 에 대한 정보를 담고 있는 문장들입니다.
각 패키지의 계층적인 구조를 .을 통하여 구분하고 있습니다.
아래는 YAML 파일의 형식 예시입니다.
spring:
datasource:
password: pass
url: jdbc:h2:dev
username: UN
패키지의 계층적인 구조를 한 눈에 보기 쉽고, 코드의 반복도 줄어 직관성도 올라간 것을 확인할 수 있습니다.
그러면 기존의 코드를 어떻게 바꿀 수 있을까요?
YAML로 변경하기
YAML 에는 리스트를 다음과 같이 간결하게 표현할 수 있습니다.
application:
servers:
- ip: '127.0.0.1'
path: '/path1'
- ip:'127.0.0.2'
path: '/path2'
- ip: '127.0.0.3'
path: '/path3'
위에서 제시한 형식 예시와, 리스트 표현 예시를 통하여, application.properties 에서 application.yml 로 형식을 바꿀 수 있겠습니다.
우리모두 코드의 가독성을 높이도록 합시다.