What is Auto-Configuration in Spring Boot and how does it work internally? स्प्रिंग बूट में ऑटो-कॉन्फिगरेशन क्या है और यह आंतरिक रूप से कैसे काम करता है?
Auto-Configuration automatically configures Spring beans based on the JAR dependencies present on the classpath, existing beans, and property values, removing the need for explicit XML or Java configuration for common setups.
It is triggered by @EnableAutoConfiguration, included inside @SpringBootApplication. Spring Boot scans classes listed in META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports, and each auto-configuration class is guarded by conditional annotations such as @ConditionalOnClass, @ConditionalOnMissingBean, and @ConditionalOnProperty so it only applies when appropriate.
@Configuration
@ConditionalOnClass(DataSource.class)
@ConditionalOnMissingBean(DataSource.class)
public class DataSourceAutoConfiguration {
// auto-configured bean definitions
}ऑटो-कॉन्फिगरेशन, क्लासपाथ पर मौजूद JAR डिपेंडेंसीज़, मौजूदा बीन्स और प्रॉपर्टी वैल्यूज़ के आधार पर स्प्रिंग बीन्स को स्वचालित रूप से कॉन्फिगर करता है, जिससे सामान्य सेटअप के लिए स्पष्ट XML या Java कॉन्फिगरेशन की ज़रूरत नहीं पड़ती।
यह @EnableAutoConfiguration द्वारा ट्रिगर होता है, जो @SpringBootApplication में शामिल होता है। स्प्रिंग बूट AutoConfiguration.imports में सूचीबद्ध क्लासेज़ को स्कैन करता है, और हर ऑटो-कॉन्फिगरेशन क्लास @ConditionalOnClass, @ConditionalOnMissingBean जैसे कंडीशनल एनोटेशन से सुरक्षित होती है।
@Configuration
@ConditionalOnClass(DataSource.class)
@ConditionalOnMissingBean(DataSource.class)
public class DataSourceAutoConfiguration {
// auto-configured bean definitions
}Was this answer clear?