Spring Boot’ta @Lazy Annotasyonu

Spring Framework, bağımlılıklarınızı yönetirken pek çok esneklik sunar. Bu esnekliklerden biri de @Lazy annotasyonudur. Bu yazıda, @Lazy annotasyonunun ne olduğuna, nasıl kullanılacağına ve bu özelliği kullanmanın avantajlarına bakacağız.

Spring, uygulama başlangıcında genellikle tüm Singleton bean‘lerini oluşturur ve başlatır. Bu, uygulamanın başlangıcında daha uzun bir başlatma süresine neden olabilir. Ancak bazı durumlarda, belirli bir bean’in hemen başlangıçta oluşturulmasına ihtiyaç duymayabilirsiniz. İşte burada @Lazy annotasyonu devreye girer.

@Lazy annotasyonu, bir bean’in sadece ilk kez talep edildiğinde oluşturulmasını ve başlatılmasını sağlar.

@Lazy Kullanımı

1. Bean Konfigürasyonunda

Java konfigürasyon dosyasında bir bean’i lazy olarak işaretleyebilirsiniz:

2. @Component ve Türevlerinde

@Component, @Service, @Repository veya @Controller gibi stereotip annotasyonlarıyla tanımlanan bileşenlerde de @Lazy kullanabilirsiniz:

3. Dependency Enjeksiyonunda

Bağımlılıkları enjekte ederken @Lazy annotasyonunu kullanarak, bağımlılığın sadece gerçekten ihtiyaç duyulduğunda başlatılmasını sağlayabilirsiniz:

@Lazy’nin Avantajları

Daha Hızlı Başlangıç: Uygulama başlangıcında sadece gerçekten ihtiyaç duyulan bileşenler başlatılarak başlangıç süresi kısaltılır.

Daha Az Kaynak Kullanımı: Başlangıçta gereksiz yere bellek ve diğer kaynakların kullanılmasını önler.

Gereksinimlerin Ertelemesi: Bazı bileşenlerin başlangıçta hemen oluşturulmasına gerek olmadığı durumlarda, bu bileşenleri erteleme yeteneği sağlar.

Dikkat Edilmesi Gerekenler

Eğer bir bean’in başlatılmasının uzun sürmesi veya ağır bir kaynak tüketimine neden olması bekleniyorsa, bu bean’i @Lazy ile işaretlemek mantıklıdır.

Ancak, tüm bean’leri @Lazy ile işaretlemek genellikle iyi bir fikir değildir. Bu, bazı hataların veya konfigürasyon sorunlarının uygulama başlatıldığında değil, daha sonrasında ortaya çıkmasına neden olabilir.

Umarım “Spring Boot’ta @Lazy Annotasyonu” başlıklı yazım sizin için faydalı olmuştur.

Şu yazılar da ilginizi çekebilir.

Spring Boot CORS ve Güvenlik Yapılandırması

Yeni bir yazımda görüşmek üzere.

Happy coding!

Yorum Yazın