๐๏ธ ์คํ๋ง ๋ถํธ: YAML vs properties
์คํ๋ง ๋ถํธ์์๋ YAML ๋๋ properties๋ฅผ ์ฌ์ฉํด ์ค์ ์ ๊ตฌ์ฑํ ์ ์์ต๋๋ค. ๋ ํ์ ๋ชจ๋ ์์ฉ ํ๋ก๊ทธ๋จ์ ๊ตฌ์ฑํ๋ key-value ์์ ์ ์ํ๋ ๋ฐ ์ฌ์ฉ๋ฉ๋๋ค. ๋ค์์ YAML๊ณผ properties ํ์ผ์ ์ฃผ์ ์ฐจ์ด์ ์ ๋๋ค. 1๏ธโฃ ๋ฌธ๋ฒ * Properties Files: ๊ฐ๋จํ 'key-value' ๊ตฌ๋ฌธ์ ์ฌ์ฉํฉ๋๋ค. ๊ฐ ์์ฑ์ ์ ์ค์ ์ ์๋๋ฉฐ, '#'์ ์ฌ์ฉํ์ฌ ์ฃผ์์ ์ถ๊ฐํ ์ ์์ต๋๋ค. ``` server.port=8080 spring.datasource.url=jdbc:mysql://localhost:3306/mydb ``` * YAML File: YAML์ ๋ณด๋ค ์ฌ๋์ด ์ฝ๊ธฐ ์ฌ์ด ํ์์ ์ฌ์ฉํฉ๋๋ค. ๊ณ์ธต ๊ตฌ์กฐ๋ฅผ ๋ํ๋ด๊ธฐ ์ํด ๋ค์ฌ์ฐ๊ธฐ๋ฅผ ์ฌ์ฉํ๊ณ ํค์ ๊ฐ์ ๊ตฌ๋ถํ๊ธฐ ์ํด ์ฝ๋ก ์ ์ฌ์ฉํฉ๋๋ค. ``` server: port: 8080 spring: datasource: url: jdbc:mysql://localhost:3306/mydb ``` 2๏ธโฃ ๊ณ์ธต * Properties File: ๋ฌด ๊ณ์ธต์ด๋ฉฐ ๊ณ์ธต ๊ตฌ์กฐ๋ฅผ ์ง์ํ์ง ์์ต๋๋ค. ๊ณ์ธต ๊ตฌ์กฐ๋ฅผ ์ฌ์ฉํ๋ ค๋ฉด ์ ๋์ฌ๋ฅผ ์ด์ฉํด์ผ ํฉ๋๋ค. * YAML File: YAML ํ์ผ์ ๊ธฐ๋ณธ์ ์ผ๋ก ๊ณ์ธต ๊ตฌ์กฐ๋ฅผ ์ง์ํ๋ฏ๋ก ์ค์ฒฉ ์์ฑ์ผ๋ก ๋ณต์กํ ๊ตฌ์ฑ์ ๋ ์ฝ๊ฒ ํํํ ์ ์์ต๋๋ค. 3๏ธโฃ ๋ฐฐ์ด๊ณผ ๋ฆฌ์คํธ * Properties File: ๋ฐฐ์ด์ด๋ ๋ฆฌ์คํธ๋ฅผ ๊ธฐ๋ณธ์ ์ผ๋ก ์ง์ํ์ง ์์ผ๋ฏ๋ก ์ผํ๋ก ๊ตฌ๋ถ๋ ๊ฐ์ ์ฌ์ฉํ๊ฑฐ๋ ๊ณตํต ์ ๋์ฌ๋ก ์ฌ๋ฌ ์์ฑ์ ๋ง๋๋ ๊ฒฝ์ฐ๊ฐ ๋ง์ต๋๋ค. ``` mylist=apple,banana,orange ``` * YAML File: YAML์ ๋ฆฌ์คํธ์ ๋ฐฐ์ด์ ๊ธฐ๋ณธ์ ์ผ๋ก ์ง์ํฉ๋๋ค. ``` mylist: - apple - banana - orange ``` 4๏ธโฃ ๋ณต์กํ ๋ฐ์ดํฐ ํ์ * Properties File: ๋จ์ํ ๋ฌธ์์ด ๊ฐ์ผ๋ก ์ ํ๋ฉ๋๋ค. ํ๋ก๊ทธ๋จ์์์ ์๋์ผ๋ก ๋ณํํด์ผ ํฉ๋๋ค. * YAML File: ์๋ ๋ณํ ์์ด ์ ์, ๋ถ์ธ ๋ฑ ๋ค์ํ ๋ฐ์ดํฐ ํ์์ ์ง์ํฉ๋๋ค. 5๏ธโฃ ๊ฐ๋ ์ฑ * Properties File: ๋ ์์ถ์ ์ด์ง๋ง ๋ณต์กํ ๊ตฌ์ฑ์ ๊ฒฝ์ฐ ์ฝ๊ธฐ ์ด๋ ค์์ง ์ ์์ต๋๋ค. * YAML File: ๋ค์ฌ์ฐ๊ธฐ ๊ธฐ๋ฐ ๊ตฌ์กฐ๋ ์ค์ฒฉ๋ ์์ฑ์ด ๋ง์ ๊ฒฝ์ฐ ๋ ์ฝ๊ฒ ์ฝ์ ์ ์๋๋ก ํด์ค๋๋ค. 6๏ธโฃ ์ฌ์ฉ ์ฌ๋ก * Properties File์ ๋์ฑ ๊ฐ๋จํ ๊ตฌ์ฑ์ ์ฌ์ฉํ๋ ๊ธฐ์กด ์์คํ ๊ณผ์ ํธํ์ฑ ๋ฌธ์ ์ ์ ํฉํฉ๋๋ค. * YAML File์ ๊ณ์ธต์ ์ด๊ณ ๊ตฌ์กฐํ๋ ํ์์ ์ฌ์ฉํ๋ ๋ณต์กํ ๊ตฌ์ฑ์ ๋ค๋ฃฐ ๋ ์ ํธ๋ฉ๋๋ค. ์์ฝํ์๋ฉด, YAML๊ณผ properties ๊ฐ์ ์ ํ์ ๊ฐ์ธ ์ ํธ๋์ ๊ตฌ์ฑ์ ๋ณต์ก์ฑ์ ๋ฐ๋ผ ๋ฌ๋ผ์ง๋๋ค. YAML์ ๊ฐ๋ ์ฑ์ด ๋ฐ์ด๋๊ณ ๊ณ์ธต์ ์ด๊ณ ๊ตฌ์กฐ์ ์ธ ๊ตฌ์ฑ์ ์ง์ํ๊ธฐ ๋๋ฌธ์ ์ค์ฒฉ๋ ์์ฑ์ด ๋ง์ ํ๋ก๊ทธ๋จ์ ์ ํฉํฉ๋๋ค. properties๋ ์ฌ์ ํ ๋จ์ํ ๊ตฌ์ฑ์ด๋ ์์ฑ ํ์์ ์ฌ์ฉํ๋ ๋ ๊ฑฐ์ ์์คํ ๊ณผ์ ํธํ์ฑ์ ์ ์งํ๋ ค๋ ๊ฒฝ์ฐ์ ์ ํฉํฉ๋๋ค. ์คํ๋ง ๋ถํธ๋ ๋ ํ์ ๋ชจ๋๋ฅผ ์ง์ํ๋ฏ๋ก ํ์์ ๋ฐ๋ผ ์ ํฉํ ํ์์ ์ ํํ๋ฉด ๋๊ฒ ์ต๋๋ค.