Otomatik Yapılandırma ve Spring Boot Başlatıcıları
Spring Boot'un sınıf yolundaki bağımlılıklara ve koşul ek açıklamalarına göre bean'leri nasıl otomatik yapılandırdığını anlayın.
Otomatik Yapılandırma ve Spring Boot Başlatıcıları, CoddyKit'te ücretsiz bir Java Academy dersidir. Bu, 4 dersinin 1. dersidir. Aşağıdan dersin tamamını ücretsiz okuyabilir, sonra tarayıcıda yerleşik kod editörü ve 7/24 yapay zeka koçu ile uygulamalı olarak pratik yapabilirsin. Bu, Java Academy öğrenme yolunun bir parçasıdır ve ilerlemeniz web ve CoddyKit uygulaması arasında senkronize olur. Java Academy kursu toplamda 4 dersten oluşur.
Spring Boot Otomatik Yapılandırması Nedir
Otomatik yapılandırma, sınıf yolunda ve ortamda bulunanlara göre Spring bean'lerini otomatik olarak yapılandırır. Yaygın tümleştirmeler için manuel @Bean kurulumu gereksinimini ortadan kaldırır.
@SpringBootApplication Anotasyonu
@SpringBootApplication, @Configuration, @EnableAutoConfiguration ve @ComponentScan açıklamalarının birleşimidir. Otomatik yapılandırmayı ve bileşen taramasını etkinleştirir.
@SpringBootApplication
public class MyApp {
public static void main(String[] args) {
SpringApplication.run(MyApp.class, args);
}
}Otomatik Yapılandırma Nasıl Çalışır
Spring Boot, otomatik yapılandırma sınıflarının listesini bulmak için META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports dosyasını tarar (Spring Boot 3). Her sınıf koşullara bağlı olarak uygulanır.
// Spring Boot 3 imports file:
// org.springframework.boot.autoconfigure.jdbc.DataSourceAutoConfiguration
// org.springframework.boot.autoconfigure.web.servlet.WebMvcAutoConfiguration@ConditionalOnClass ve @ConditionalOnMissingBean
Otomatik yapılandırma sınıfları, yalnızca belirli koşullar karşılandığında uygulanmak için @Conditional açıklamalarını kullanır; örneğin bir sınıf sınıf yolunda olduğunda veya bir bileşen daha önce tanımlanmadığında.
@AutoConfiguration
@ConditionalOnClass(DataSource.class)
@ConditionalOnMissingBean(DataSource.class)
public class DataSourceAutoConfiguration {
@Bean
public DataSource dataSource(DataSourceProperties props) {
return DataSourceBuilder.create().build();
}
}Spring Boot Başlatıcıları
Bir başlatıcı, özenle seçilmiş bağımlılık tanımlayıcıları kümesidir. Projenize spring-boot-starter-web eklemek Spring MVC'yi, Tomcat'i, Jackson'ı ve bunların otomatik yapılandırmalarını getirir; bağımlılıkları elle aramanız gerekmez.
// build.gradle:
dependencies {
implementation "org.springframework.boot:spring-boot-starter-web"
implementation "org.springframework.boot:spring-boot-starter-data-jpa"
implementation "org.springframework.boot:spring-boot-starter-validation"
}Yaygın Başlatıcılar
Başlıca başlatıcılar: starter-web (REST + Tomcat), starter-data-jpa (JPA + Hibernate), starter-security, starter-test (JUnit + Mockito), starter-actuator (sağlık durumu/metrikler).
Otomatik Yapılandırmayı Geçersiz Kılma
Otomatik yapılandırılmış bileşenlere öncelik vermek için aynı türden kendi @Bean tanımınızı oluşturun. @ConditionalOnMissingBean, otomatik yapılandırılmış bileşenin yalnızca sizinki yoksa oluşturulmasını sağlar.
// Override auto-configured ObjectMapper:
@Configuration
public class JacksonConfig {
@Bean
public ObjectMapper objectMapper() {
return new ObjectMapper()
.disable(SerializationFeature.WRITE_DATES_AS_TIMESTAMPS)
.registerModule(new JavaTimeModule());
}
}Otomatik Yapılandırmayı Hariç Tutma
İstemediğiniz belirli otomatik yapılandırma sınıflarını hariç tutun; bir başlatıcı elle yapılandırmak istediğiniz bir şeyi beraberinde getirdiğinde bu yöntem kullanışlıdır.
@SpringBootApplication(exclude = {
DataSourceAutoConfiguration.class,
SecurityAutoConfiguration.class
})
public class MyApp { ... }Kendi Başlatıcınızı Oluşturma
Bir otomatik yapılandırma sınıfı içeren bir başlatıcı modülü oluşturun ve bu sınıfı META-INF/spring/....AutoConfiguration.imports dosyasına kaydedin. Başlatıcınızı içeren diğer projeler bileşenlerinizi otomatik olarak alır.
// my-starter/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports:
// com.example.MyLibraryAutoConfigurationOtomatik Yapılandırmada Hata Ayıklama
Uygulanan veya hariç bırakılan otomatik yapılandırmaları ve bunun nedenlerini listeleyen bir "CONDITIONS EVALUATION REPORT" görmek için --debug bayrağıyla çalıştırın veya logging.level.org.springframework.boot.autoconfigure=DEBUG ayarını yapın.
java -jar myapp.jar --debug
# Or in application.properties:
# logging.level.org.springframework.boot.autoconfigure=DEBUGActuator /conditions Uç Noktası
spring-boot-starter-actuator özelliğini etkinleştirin ve yeniden başlatmadan çalışma zamanındaki otomatik yapılandırma değerlendirme raporunu görmek için /actuator/conditions uç noktasını dışa açın.
# application.properties:
management.endpoints.web.exposure.include=conditions
# Then:
curl http://localhost:8080/actuator/conditionsHızlı Kontrol
Bir türden başka bir bileşen zaten tanımlı değilse o türde bir bileşenin oluşturulmasını hangi anotasyon sağlar?
Özet
Otomatik yapılandırma, sınıf yoluna ve mevcut bileşenlere göre bileşenleri bağlamak için koşullu açıklamalar kullanır. Başlatıcılar bağımlılıkları ve otomatik yapılandırmayı bir araya getirir. Kendi bileşenlerinizle geçersiz kılın. İstenmeyen yapılandırmaları hariç tutun. --debug ile hata ayıklayın.
Sıkça Sorulan Sorular
“Otomatik Yapılandırma ve Spring Boot Başlatıcıları” dersi ücretsiz mi?
Evet — “Otomatik Yapılandırma ve Spring Boot Başlatıcıları” dersin tüm metni burada web'de ücretsiz olarak okunabilir. Etkileşimli olarak pratik yapmak (yerleşik kod editörü ve 7/24 yapay zeka koçu) ve Java Academy kursunun geri kalanını açmak için CoddyKit PRO'ya yükselt. Java Academy kursu toplamda 4 dersten oluşur.
“Otomatik Yapılandırma ve Spring Boot Başlatıcıları” dersinde ne öğreneceğim?
Spring Boot'un sınıf yolundaki bağımlılıklara ve koşul ek açıklamalarına göre bean'leri nasıl otomatik yapılandırdığını anlayın. Java Academy ile uygulamalı kodu tarayıcıda doğrudan çalıştırarak pratik yaparsın ve 7/24 yapay zeka koçu dersi çalışırken sorularını yanıtlar.
Java Academy öğrenmeye başlamak için deneyim gerekli mi?
Önceden deneyim gerekmez. CoddyKit'te Java Academy, başlangıçtan ileri seviyeye kadar yapılandırıldığı için buradan başlayabilir veya başından başlayıp kendi hızında ilerleme yapabilirsin. Bu, 4 dersinin 1. dersidir.
“Otomatik Yapılandırma ve Spring Boot Başlatıcıları” dersi ne kadar sürer?
Çoğu CoddyKit dersi yaklaşık 5–10 dakika sürer. Her biri kısa ve etkileşimli olduğu için sabit ilerleme yaparsın ve web ile uygulama arasında tam olarak bıraktığın yerden devam edebilirsin.
Bu Java Academy dersinde kod yazıp çalıştırabilir miyim?
Evet. Her Java Academy dersi yerleşik bir kod editörü içerir, bu sayede tarayıcıda gerçek kod yazıp çalıştırabilir ve anlık yapay zeka geri bildirimi alırsın — yerel kurulum gerekli değildir.
Bu kursun tüm dersleri
- Otomatik Yapılandırma ve Spring Boot Başlatıcıları
- Uygulama Özellikleri ve Profiller
- Bean Bağlama: @Component, @Service, @Repository
- Yapıcı Enjeksiyonu ve Döngüsel Bağımlılıklar