Project Lombok ile Getter ve Setter Metotlarına elveda!
Merhaba,
Bu yazıda, Project Lombok’un nasıl çalıştığını anlatacağım, bazı örnek annotasyonlara göz atacağız ve gerçek Java kod örnekleriyle nasıl kullanıldığını göreceğiz. Artık tekrarlayan işlerle zaman harcamanıza gerek yok. Hadi, Project Lombok’un büyülü dünyasına dalalım!
Nedir?
Project Lombok, Java dilinde getter-setter metotları, constructorlar, equals ve hashCode metotları gibi standart olarak tanımladığımız, sürekli tekrar eden kodları üreten ve sınıf yapılarını daha basit, okunabilir hale getiren bir kütüphanedir.
Peki nasıl yapıyor?
Diyecek diyecek olursanız, cevap basit: annotasyonlarla!
Geliştirici, bu annotasyonları sınıflara veya alanlara ekler. Bu annotasyonlar, Java derleyicisine kodu derlerken ve oluştururken belirli işlemler gerçekleştirmesini söyler. Lombok, bu işlemleri kodun arka planında gerçekleştirir ve sonuç olarak belirtilen kodları otomatik olarak oluşturur. Compile işlemi yapıldıktan sonra sınıfınızın .class uzantılı dosyasını incelediğinizde lombokun eklediği kodları görebilirsiniz.
Nasıl ekleyebilirim?
Intelilj Idea kullanıyorsanız; lombok pluginini yüklemek ve editörü yeniden başlatmak yeterli olacaktır. Ardından da pom.xml dosyasına lombok bağımlılığını ekleyebilirsiniz.
En Sık Kullanılan Annotasyonlar
En sık kullanılan annotasyonlara bir bakalım.
@Getter
ve@Setter
: Alanlar için otomatik getter ve setter metotlarını oluşturur.@ToString
: Sınıfın içeriğini temsil edentoString
metodu otomatik oluşturur.@EqualsAndHashCode
: Alanlar içinequals
vehashCode
metotlarını otomatik oluşturur.@NoArgsConstructor
: Parametresiz constructor ekler.@AllArgsConstructor
: Tüm alanları içeren constructor ekler.@RequiredArgsConstructor
: Final alanlar için constructor ekler.@Data
:@Getter
,@Setter
,@ToString
,@EqualsAndHashCode
ve constructorları otomatik ekler.@Builder
: Builder tasarım desenini kullanarak nesneleri inşa etmek için kolaylık sağlar.@Slf4j
: Logger nesnesini otomatik olarak oluşturur ve loglama işlemlerini kolaylaştırır.
Sadece @Data annostasyonu kullanarak modelimiz hazır!
Lombok annotasyonlarını kullanarak basit bir Book sınıfı oluşturalım.
Compile edildikten sonraki haline de bir bakalım.
Eğer oluşturulan bu hazır metotlarda değişiklik yapmak isterseniz de Delombok’ u kullanabilirsiniz. Delombok seçtiğiniz annotasyonu kaldırarak kullanılması gereken metotları sınıfınıza ekler ve değişiklik yapma imkanı verir. Bunun için Intellij’de Refactor > Delombok altından seçebilirsiniz.
Şimdi pageCount için setter içerisine kontrol eklemek isteyelim. Bu metot üzerinde değişiklik yapmak için Delombok üzerinden Setter’ ı seçiyoruz.
Bu durumda oluşacak olan sınıfımıza tekrar bakalım.
Artık istediğimiz değişiklikleri yapabilirz 💁🏻♀️
Basit ama kullanışlı bir kütüphane olduğu kesin. Daha fazla annotasyon için siteyi inceleyebilirsiniz.
Lombok’ un avantaj ve dezavantajları için gördüğüm güzel bir yazıyı da bırakıyorum, okumanızı tavsiye ederim.
Sevgiyle kalın.
Kaynaklar
https://codingbytime.com/project-lombokun-avantajlari-ve-dezavantajlari/
https://www.udemy.com/course/spring-framework-6-beginner-to-guru/