π[Spring] application.yml
κ³Ό application.properties
μ μ°¨μ΄μ .
Java λ°±μλ μ ν리μΌμ΄μ
μμ application.yml
κ³Ό application.properties
λ λͺ¨λ μ ν리μΌμ΄μ
μ μ€μ μ κ΄λ¦¬νλ λ° μ¬μ©λλ κ΅¬μ± νμΌμ
λλ€.
μ΄ λ νμΌμ Spring Bootμ κ°μ νλ μμν¬μμ μ ν리μΌμ΄μ μ νκ²½ μ€μ , λ°μ΄ν°λ² μ΄μ€ μ°κ²°, ν¬νΈ λ²νΈ, 보μ μ€μ λ±μ μ μνλ λ° μ¬μ©λ©λλ€.
λ νμΌμ κΈ°λ₯μ μΌλ‘ λΉμ·νμ§λ§ νμκ³Ό κ°λ μ±μμ μ°¨μ΄κ° μμ΅λλ€.
1οΈβ£ μ°¨μ΄μ .
1. νμΌ νμ.
-
application.properties
- ν€-κ° μ νμμ ꡬμ±μ μ¬μ©ν©λλ€.
- κ° μ€μ μ ν μ€μ νλμ©,
key=value
νμμΌλ‘ μμ±λ©λλ€.
-
application.yml
- YAML νμμ μ¬μ©ν©λλ€.
- YAMLμ κ³μΈ΅μ ꡬ쑰μ λ€μ¬μ°κΈ°λ₯Ό ν΅ν΄ μ€μ μ μ μνλ©°, JSONκ³Ό μ μ¬ν λ°©μμΌλ‘ λ°μ΄ν°λ₯Ό ꡬμ±ν©λλ€.
μμ
-
application.properties
μμserver.port=8080 spring.dataspurce.url=jdbc:mysql://localhost:3306/mydb spring.datasource.username=root spring.datasource.password=secret logging.level.org.springframework=DEBUG
-
application.yml
μμserver: port: 8080 spring: datasource: url: jdbc:mysql://localhost:3306/mydb username: root password: secret logging: level: org.springframework: DEBUG
2. κ³μΈ΅ ꡬ쑰 νν.
-
application.properties
- κ° μ€μ νλͺ©μ μ νκΈ°λ²(dot natation) μ μ¬μ©νμ¬ κ³μΈ΅ ꡬ쑰λ₯Ό ννν©λλ€.
- μλ₯Ό λ€μ΄,
spring.datasource.url
μ²λΌ μ μ μ¬μ©ν΄ μ€μ²©λ μμ±μ μ μν©λλ€.
- μλ₯Ό λ€μ΄,
- κ° μ€μ νλͺ©μ μ νκΈ°λ²(dot natation) μ μ¬μ©νμ¬ κ³μΈ΅ ꡬ쑰λ₯Ό ννν©λλ€.
-
application.yml
- YAMLμ λ€μ¬μ°κΈ°λ₯Ό ν΅ν΄ κ³μΈ΅μ ꡬ쑰λ₯Ό μμ°μ€λ½κ² ννν μ μμ΅λλ€.
- μ νκΈ°λ² λμ λ€μ¬μ°κΈ°λ‘ μ€μ²©λ ꡬ쑰λ₯Ό ννν©λλ€.
3. κ°λ μ±
-
application.properties
- λͺ¨λ μ€μ μ΄ ν μ€μ ν€-κ° μμΌλ‘ νμλλ―λ‘ κ°λ¨ν μ€μ μμλ μ½κΈ° μ½μ΅λλ€.
- κ·Έλ¬λ κ³μΈ΅μ λ°μ΄ν° ꡬ쑰λ₯Ό ννν΄μΌ ν λλ μ νκΈ°λ²μ μ¬μ©ν΄μΌ νλ―λ‘, μ€μ μ΄ λ§μμ§ μλ‘ μ½κΈ° μ΄λ €μμ§ μ μμ΅λλ€.
-
application.yml
- YAMLμ λ€μ¬μ°κΈ°λ₯Ό μ¬μ©ν΄ κ³μΈ΅ ꡬ쑰λ₯Ό νννκΈ° λλ¬Έμ , 볡μ‘ν μ€μ μ λ κ°λ μ± μκ² ννν μ μμ΅λλ€.
- μ€μ μ΄ λ§κ±°λ μ€μ²©λ κ²½μ°μλ λ λͺ ννκ² κ΅¬μ±ν μ μμ΅λλ€.
4. λ°μ΄ν° ννμ μ μ°μ±.
-
application.properties
- λ¨μν ν€-κ° μμΌλ‘ λ°μ΄ν° ννμ΄ μ νλ©λλ€.
- λ°°μ΄μ΄λ 볡μ‘ν λ°μ΄ν° ꡬ쑰λ₯Ό ννν λλ μ¬λ¬ μ€μ κ±Έμ³ μ νκΈ°λ²μ μ¬μ©ν΄μΌ ν©λλ€.
-
application.yml
- YAMLμ λ°°μ΄, κ°μ²΄, μ€μ²©λ ꡬ쑰λ₯Ό μ½κ² ννν μ μμ΅λλ€.
- 볡μ‘ν λ°μ΄ν° ꡬ쑰λ₯Ό νννλ λ° λ μ μ°ν©λλ€.
λ°°μ΄ νν μμ.
-
application.properties
μμ λ°°μ΄μ νννλ λ°©λ².mylist[0]=item1 mylist[1]=item2 mylist[2]=item3
-
application.yml
μμ λ°°μ΄μ νννλ λ°©λ².
```bash
mylist:- item1
- item2
- item3
```
5. μ£Όμ.
-
application.properties
- μ£Όμμ
#
κΈ°νΈλ‘ μμν©λλ€. - μ£Όμμ ν μ€μ μΆκ°ν μ μμ΅λλ€.
- μ£Όμμ
-
application.yml
- μ£Όμλ
#
κΈ°νΈλ₯Ό μ¬μ©ν©λλ€. - μ£Όμμ μμ±νλ λ°©μμ
application.properties
μ λμΌνμ§λ§, YAML νμμμλ μ¬λ¬ μ€μ κ±ΈμΉ μ£Όμμ μΆκ°νκΈ°μ λ μμ°μ€λ½μ΅λλ€.
- μ£Όμλ
6. μ¬μ© μ©λ.
-
application.properties
- λ¨μν μ€μ μ μ μν λ μ μ©ν©λλ€.
- μμ± μκ° μ κ³ κ³μΈ΅μ κ΅¬μ‘°κ° λ§μ΄ νμνμ§ μμ κ²½μ° λ μ§κ΄μ μΌ μ μμ΅λλ€.
-
application.yml
- 볡μ‘ν μ€μ μ μ μν λ μ ν©ν©λλ€.
- YAMLμ λ°μ΄ν°μ κ³μΈ΅μ ꡬ쑰λ₯Ό μ½κ² νν ν μ μμ΄, μ€μ²©λ μ€μ μ΄λ λ€μμ μ€μ μ΄ νμν κ²½μ° λ μ ν©ν©λλ€.
2οΈβ£ μ ν κΈ°μ€
-
μμ νλ‘μ νΈλ λ¨μν μ€μ μλ
application.properties
κ° μ ν©ν μ μμ΅λλ€.- μ νκΈ°λ²μΌλ‘ κ°λ¨ν μ€μ ν μ μκΈ° λλ¬Έμ μ§κ΄μ μ΄κ³ λΉ λ₯΄κ² μ€μ μ μ μ©ν μ μμ΅λλ€.
-
볡μ‘ν νλ‘μ νΈλ λ€μ€μ μΈ μ€μ μ΄ νμν κ²½μ°, νΉν μ€μ λ‘κΉ
λ 벨 μ€μ , λ€μ€ νκ²½ κ΄λ¦¬ λ±μ 볡μ‘ν ꡬμ±μ΄ μꡬλ λλ
application.yml
μ΄ λ μ ν©ν©λλ€.- YAMLμ ꡬ쑰μ νν λλΆμ κ°λ μ±κ³Ό μ μ§λ³΄μμ±μ΄ ν₯μλ©λλ€.
3οΈβ£ μμ½.
-
application.properties
- λ¨μν ν€-κ° μμΌλ‘ μ΄λ£¨μ΄μ§ μ€μ νμΌμ λλ€.
- μ νκΈ°λ²μ μ¬μ©ν΄ κ³μΈ΅μ ꡬ쑰λ₯Ό νννλ©°, λ¨μν μ€μ μ μ ν©ν©λλ€.
-
application.yml
- YAML νμμ μ€μ νμΌλ‘, λ€μ¬μ°κΈ°μ κ³μΈ΅μ ꡬ쑰λ₯Ό ν΅ν΄ 볡μ‘ν μ€μ μ λ³΄λ€ μ§κ΄μ μ΄κ³ κ°λ μ± μκ² ννν μ μμ΅λλ€.
- 볡μ‘ν νλ‘μ νΈμμ μ 리ν©λλ€.
κ²°κ΅, λ λ€ λμΌν κΈ°λ₯μ μνν μ μμ§λ§, μ€μ μ 볡μ‘λμ κ°λ
μ± μꡬμ λ°λΌ properties
μ yml
μ€ μ ν©ν νμμ μ νν μ μμ΅λλ€.