Spring Boot uygulaması başlatılırken, çalışan sınıf ve metotlar




Spring Boot uygulaması başlatılırken, birçok sınıf ve metot belirli bir sırayla çalışır. İşte genel olarak Spring Boot'un başlatma sürecindeki ana adımlar:

main() metodu: Uygulama, @SpringBootApplication ile işaretlenmiş ana sınıftaki main() metoduyla başlar.

SpringApplication.run(): Bu metot çağrılır ve uygulamanın başlatılma süreci başlar.

ApplicationContext oluşturulması: Spring, uygulama için ApplicationContext'i oluşturur.

@Configuration sınıflarının taranması: Spring, @Configuration ile işaretlenmiş sınıfları tarar.

@Bean metotlarının çalıştırılması: @Configuration sınıflarındaki @Bean metotları çalıştırılır ve bean'ler oluşturulur.

AutoConfiguration sınıflarının yüklenmesi: Spring Boot, otomatik yapılandırma sınıflarını yükler.

@Component, @Service, @Repository gibi annotationlarla işaretlenmiş sınıfların taranması: Bu sınıflar taranır ve bean olarak kaydedilir.

ApplicationRunner ve CommandLineRunner uygulamaları: Bu arayüzleri uygulayan sınıflar, uygulama başlatıldıktan hemen sonra çalıştırılır.

PropertySource'ların yüklenmesi: application.properties veya application.yml gibi yapılandırma dosyaları okunur ve ortam değişkenleri yüklenir.

Profillerin aktifleştirilmesi: Belirtilen profiller (örneğin, dev, prod) aktifleştirilir.

Logging altyapısının başlatılması: Loglama sistemi yapılandırılır ve başlatılır.

Bean'lerin öncelik sırasına göre başlatılması: @DependsOn, @Order gibi annotationlar dikkate alınarak bean'ler sırayla başlatılır.

Lifecycle callback'lerin çağrılması: InitializingBean.afterPropertiesSet() veya @PostConstruct metotları çağrılır.

Embedded web sunucusunun başlatılması: Eğer bir web uygulamasıysa, gömülü web sunucusu (örneğin Tomcat) başlatılır.

DispatcherServlet'in yapılandırılması: Web uygulamaları için DispatcherServlet yapılandırılır ve başlatılır.

@Controller sınıflarının taranması: Web uygulamaları için @Controller veya @RestController ile işaretlenmiş sınıflar taranır ve yönlendirmeler (routing) yapılandırılır.

Hazır (ready) durumuna geçiş: Uygulama hazır duruma geçer ve istekleri kabul etmeye başlar.

ApplicationReadyEvent yayınlanması: Uygulama tamamen başlatıldığında bu event yayınlanır.

Bu süreç, Spring Boot'un otomatik yapılandırma özelliği sayesinde çoğunlukla arka planda gerçekleşir. Geliştiriciler, bu süreci özelleştirmek veya belirli aşamalarda kendi kodlarını çalıştırmak için çeşitli yöntemler kullanabilirler. Örneğin:

ApplicationListener'lar kullanarak belirli olayları dinleyebilirler.

CommandLineRunner veya ApplicationRunner arayüzlerini uygulayarak uygulama başlatıldıktan hemen sonra kod çalıştırabilirler.

@PostConstruct annotationı ile bean'lerin başlatılması sırasında özel kod çalıştırabilirler.

Please Select Embedded Mode To Show The Comment System.*

Daha yeni Daha eski

نموذج الاتصال