📜
Basics

application.yml & YAML

Hierarchical Configuration
💡 YAML ek FOLDER-TREE VIEW hai configuration ka — properties file ek FLAT LIST hai (har line ALAG), YAML NESTED, INDENTED STRUCTURE hai (jaise file explorer mein folders ke ANDAR sub-folders) — RELATED settings visually GROUPED dikhte hain.

application.yml, application.properties ka ALTERNATIVE hai — SAME configuration, DIFFERENT (HIERARCHICAL, indentation-based) syntax mein. Bade, COMPLEX configurations ke liye, YAML zyaada READABLE hai — RELATED properties NESTED, VISUALLY GROUPED hote hain, repetitive PREFIX (jaise spring.datasource.) baar-baar likhne ki zaroorat NAHI.

DONO (properties aur YAML) FUNCTIONALLY EQUIVALENT hain — Spring Boot DONO ko SUPPORT karta hai (agar DONO files EXIST karte hain, .properties PRIORITY leta hai). TEAM/PROJECT convention decide karta hai KAUN SA use karna hai — MODERN projects mein YAML zyaada POPULAR hai, especially MULTIPLE PROFILES ke liye.

# application.yml — same config, HIERARCHICAL:
server:
  port: 8081
  servlet:
    context-path: /api

spring:
  datasource:
    url: jdbc:postgresql://localhost:5432/bookstore
    username: admin
    password: secret

logging:
  level:
    org.springframework: INFO
    com.example: DEBUG

app:
  jwt:
    expiration: 86400000

# Multiple profiles EK FILE mein (--- separator):
---
spring:
  config:
    activate:
      on-profile: prod
server:
  port: 80
📜
YAML ek FOLDER-TREE VIEW hai configuration ka — properties file ek FLAT LIST hai (har line ALAG), YAML NESTED, INDENTED STRUCTURE hai (jaise file explorer mein folders ke ANDAR sub-folders) — RELATED settings visually GROUPED dikhte hain.
1 / 6
⚡ Quick Recap
  • YAML = hierarchical, indentation-based (properties se ZYAADA readable, bade configs ke liye)
  • Dono formats FUNCTIONALLY equivalent — .properties PRIORITY leta hai agar dono exist karein
  • --- separator se, EK FILE mein MULTIPLE profiles define ho sakte hain
On this page (2 subtopics)

YAML mein LISTS (arrays) dash (-) prefix se define hoti hain — properties file mein ARRAYS express karna MUSHKIL/AWKWARD hai (comma-separated ya indexed keys), YAML mein YE NATURAL hai.

app:
  allowed-origins:
    - http://localhost:3000
    - https://myapp.com
  features:
    - name: dark-mode
      enabled: true
    - name: notifications
      enabled: false

Online CONVERTERS aur IDE plugins available hain properties ↔ YAML CONVERT karne ke liye — LOGIC simple hai: DOT-separated keys (spring.datasource.url) YAML mein NESTED INDENTATION ban jaate hain.

💡Tip: Ek TEAM ke andar, CONSISTENTLY EK FORMAT (ya properties, ya YAML) use karna BEST PRACTICE hai — DONO ko MIX karna (ek file properties, dusri YAML) CONFUSION create karta hai.