๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
TIL/Spring

.properties์™€ .yml ์ฐจ์ด

by Edlin 2022. 7. 19.
  • ๋‹ค๋ฅธ ํ™˜๊ฒฝ์—์„œ๋„ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์ด ๋™์ž‘ํ•  ์ˆ˜ ์žˆ๋„๋ก ์„ค์ • ๊ด€๋ จ ์ •๋ณด๊ฐ€ ๋“ค์–ด์žˆ๋Š” ํ•˜๋‚˜์˜ ํŒŒ์ผ์ด๋‹ค.
  • ํฌํŠธ ์„ค์ •, ์–ด๋–ค ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์™€ ์—ฐ๊ฒฐํ•ด์ค„ ๊ฒƒ์ธ์ง€์™€ ๊ด€๋ จํ•œ ์ •๋ณด ๋“ฑ์„ ์ €์žฅํ•  ์ˆ˜ ์žˆ๋‹ค.
    • ์Šคํ”„๋ง ๋ถ€ํŠธ์˜ ์„œ๋ฒ„๋ฒˆํ˜ธ๋Š” 8080์ด default ์ด์ง€๋งŒ, ๋‹ค๋ฅธ ํฌํŠธ๋ฅผ ์‚ฌ์šฉํ•˜๊ณ  ์‹ถ๋‹ค๋ฉด ์„ค์ • ํŒŒ์ผ์— ์„ ์–ธํ•ด์ค„ ์ˆ˜ ์žˆ๋‹ค. 
    • server.port = 9090
  • ๋‘ ํŒŒ์ผ ๋ชจ๋‘ ์„ค์ • ํŒŒ์ผ์ด๋ผ๋Š” ๊ณตํ†ต์ ์„ ๊ฐ€์ง€๊ณ  ์žˆ์ง€๋งŒ, ์„œ์ˆ ํ•˜๋Š” ๋ฐฉ์‹์€ ๋‹ค๋ฅด๋‹ค.
  • Elastric Search๋‚˜ MongoDB database๋Š” YAML(.yml)์„ default configuration format์œผ๋กœ ์‚ฌ์šฉํ•œ๋‹ค.
  • Java์—์„œ๋Š” ์ฃผ๋กœ .properties๋ฅผ ๋งŽ์ด ์ด์šฉํ•œ๋‹ค.
***.yml

# ๊ตฌ๋ถ„์ž: spacebar, (XX tab)

somemap:
    key:value 
    number:9

    map2: {bool=true, date=2022.07.19}

 

***.properties

key = value
number = 9
bool = true

YAML (.yml) .properties
key/value
map, List, Scalar ์œ ํ˜• ์ง€์›
key/value๋ฅผ ์ง€์›ํ•˜์ง€๋งŒ, ๋ฌธ์ž์—ด ์ด์™ธ์—๋Š” ์ง€์›ํ•˜์ง€ ์•Š๋Š”๋‹ค
Python, Ruby, Java๋“ฑ์— ๋งŽ์ด ํผ์ ธ์žˆ๋‹ค. ์ฃผ๋กœ ์ž๋ฐ”์—์„œ ์ด์šฉ
๊ณ„์ธตํ˜•๊ตฌ์กฐ ๋น„๊ณ„์ธตํ˜•๊ตฌ์กฐ
SpringFramework๋Š” @PropertySources๋ฅผ ์ง€์›ํ•˜์ง€ ์•Š๋Š”๋‹ค. SpringFramework์—์„œ @PropertySources๋ฅผ ์ง€์›ํ•œ๋‹ค.

 


@PropertySources ?

SpringFramework์—์„œ ํ™˜๊ฒฝ์„ค์ • ๊ฒฝ๋กœ ๋“ฑ์„ ์ฃผ์ž…ํ•  ๋•Œ ์‚ฌ์šฉํ•˜๋Š” ์–ด๋…ธํ…Œ์ด์…˜
Spring 4.0์—์„œ ์ถ”๊ฐ€๋œ ์˜ต์…˜

@Configuration
@PropertySource(value = {"dbProperty.properties"})
public class DBConfig {
  @Value("${dbconfig.driver}")
  private String driver;
  @Value("${dbconfig.url}")
  private String url;
  @Value("${dbconfig.username}")
  private String username;
  @Value("${dbconfig.password}")
  private String password;
  ...
}

.yml์€ .properties์— ๋น„ํ•ด ์–ด๋–ค ์ด์ ์ด ์žˆ์„๊นŒ?

  • ์˜์กด๊ด€๊ณ„๋‚˜, ํŒŒ์ผ ์„ค์ •์ •๋ณด ๋“ฑ์„ ๊ณ„์ธตํ˜•์œผ๋กœ ๊ด€๋ฆฌํ•˜๊ธฐ ๋•Œ๋ฌธ์— ๊ทœ์น™์ด๋‚˜ ์œ ํ˜•๋ณ€ํ™˜์— ์žˆ์–ด์„œ .properties๋ณด๋‹ค ํšจ๊ณผ์ ์ผ ์ˆ˜ ์žˆ๋‹ค.
  • ์ง€์›ํ•˜๋Š” ์–ธ์–ด์˜ ํญ์ด ๋„“๊ธฐ ๋•Œ๋ฌธ์— ๋‹ค์–‘ํ•œ ์‘์šฉํ”„๋กœ๊ทธ๋žจ์„ ์‚ฌ์šฉํ•˜๋Š” ๊ฒฝ์šฐ .yml ์ด ์œ ๋ฆฌํ•˜๋‹ค.

๋Œ“๊ธ€