🔗
Configuration & Properties

Relaxed Binding

Flexible Property Names
💡 Relaxed binding ek MULTILINGUAL TRANSLATOR hai — CHAHE tum "my-property" bolo, "myProperty" bolo, ya "MY_PROPERTY" bolo (teen DIFFERENT LANGUAGES/FORMATS), TRANSLATOR (Spring Boot) SAMAJH jaata hai ki TEENO ka MATLAB SAME hai.

Relaxed binding Spring Boot ka MECHANISM hai jo DIFFERENT NAMING CONVENTIONS ke beech AUTOMATICALLY TRANSLATE karta hai — properties files/YAML mein KEBAB-CASE (my-property) CONVENTION hai, JAVA fields mein camelCase (myProperty), ENVIRONMENT VARIABLES mein UPPER_SNAKE_CASE (MY_PROPERTY) — SAB EK HI PROPERTY ko REFER karte hain.

YE FEATURE ESPECIALLY IMPORTANT hai CLOUD/CONTAINER environments mein — ENVIRONMENT VARIABLES (jo Kubernetes/Docker mein COMMON hain) SIRF UPPER_SNAKE_CASE SUPPORT karte hain (kabhi-kabhi), LEKIN Spring Boot code mein WE STILL camelCase FIELDS use kar sakte hain — RELAXED BINDING beech mein TRANSLATE kar deta hai.

// SAB TEENO, SAME Java field ko BIND karte hain:

// application.properties (kebab-case):
// app.jwt-secret=mySecretKey

// application.yml (camelCase bhi chalता hai):
// app:
//   jwtSecret: mySecretKey

// Environment variable (UPPER_SNAKE_CASE):
// APP_JWT_SECRET=mySecretKey

// Java field (camelCase):
@ConfigurationProperties(prefix = "app")
public class AppProperties {
    private String jwtSecret;   // SAB THREE sources se BIND ho sakta hai
}
🔗
Relaxed binding ek MULTILINGUAL TRANSLATOR hai — CHAHE tum "my-property" bolo, "myProperty" bolo, ya "MY_PROPERTY" bolo (teen DIFFERENT LANGUAGES/FORMATS), TRANSLATOR (Spring Boot) SAMAJH jaata hai ki TEENO ka MATLAB SAME hai.
1 / 2
⚡ झट से Recap
  • Kebab-case (properties/YAML) ↔ camelCase (Java) ↔ UPPER_SNAKE_CASE (env vars)
  • Automatically TRANSLATE hota hai — MANUAL mapping ki zaroorat NAHI
  • Cloud/container environments mein ESPECIALLY useful
इस page में (2 subtopics)

Relaxed binding CASE-INSENSITIVE hai — app.myProperty, app.my-property, APP_MY_PROPERTY (environment variable style) — SAB EK HI Java field (myProperty) ko BIND ho sakte hain. Ye FLEXIBILITY especially useful hai jab CONFIGURATION MULTIPLE sources (properties file, env vars, command-line) se AA rahi ho.

💡Tip: YAML/properties files mein, KEBAB-CASE (my-property) CONVENTION hai. Environment variables mein, UPPER_SNAKE_CASE (MY_PROPERTY) convention hai. Java fields mein, camelCase (myProperty). Spring Boot AUTOMATICALLY in TEENO ke beech TRANSLATE karta hai.

Relaxed binding LISTS aur MAPS ko bhi SUPPORT karta hai — app.servers[0]=host1, app.servers[1]=host2 (indexed) ya YAML mein NATURAL list syntax, DONO EK List<String> field mein BIND ho sakte hain.

# Properties file mein indexed list:
app.servers[0]=server1.example.com
app.servers[1]=server2.example.com

# @ConfigurationProperties class mein:
# private List<String> servers;