• Buradasın

    Lombok Kütüphanesi Eğitim Videosu

    youtube.com/watch?v=rp29of5CjWM

    Yapay zekadan makale özeti

    • Bu video, bir eğitmen tarafından sunulan Java programlama dili için Lombok kütüphanesi hakkında kapsamlı bir eğitim içeriğidir.
    • Video, Lombok kütüphanesinin ne olduğu, nasıl çalıştığı ve özellikleri ile başlayıp, Stable ve Expert branch'lerini tanıtmaktadır. Ardından Lombok'un IDE'lere nasıl yükleneceği ve Maven projesi içinde nasıl kullanılacağı gösterilmektedir. Daha sonra getter-setter oluşturma, toString, equals, hashCode, constructor annotation'ları, @Data, @Builder, @UtilityClass ve @AllMethodsInherited gibi çeşitli annotation'ların kullanımı kod örnekleri üzerinden detaylı şekilde anlatılmaktadır.
    • Eğitim boyunca Lombok'un kodun daha sade olmasını sağladığı, boilerplate kodları otomatik olarak oluşturduğu ve null pointer hatalarını kontrol etmek için @Nullable annotation'ının kullanımı gibi pratik bilgiler sunulmaktadır. Video, özel sektörde sıkça kullanılan Lombok kütüphanesinin Java kodlamasını nasıl kolaylaştırdığını göstermektedir.
    00:06Lombok Kütüphanesi Tanıtımı
    • Lombok, Java'nın sunmuş olduğu annotation processing özelliğini kullanan, kodu daha sade hale getiren bir kütüphanedir.
    • Lombok, compile edilirken oluşturulan annotation'larla şablon kodları otomatik olarak oluşturarak kodun sadeleşmesini sağlar.
    • Lombok'un annotation'ları iki farklı branch olarak düşünülebilir: Stable (ispatlanmış) ve Expert (deneysel) alanlar.
    01:29Lombok'un Çalışma Prensibi
    • Lombok, annotation processing kullanarak compile edilirken class file'ların oluştuğu esnada şablon kodları oluşturur.
    • Expert alanındaki annotation'lar henüz kararlı hale gelmemiş olabilir ve bazı durumlarda problem yaşatabilir.
    • Expert alanındaki annotation'lar zamanla testlerden geçirildikten sonra stable alanına dahil edilebilir.
    03:58Lombok'u IDE'ye Ekleme
    • Lombok'u kullanabilmek için IDE'ye özel bir plugin yüklemek gerekiyor.
    • IntelliJ IDEA'da plugin, Preferences > Plugins bölümünden yüklenir ve IDE'yi yeniden başlatmak gerekir.
    • Lombok, IntelliJ IDEA, Eclipse, NetBeans, MyClip, Spring Suite, Jabs ve Visual Studio Code gibi birçok IDE'de desteklenmektedir.
    06:17Lombok'u Proje'ye Ekleme
    • Maven projesine Lombok eklemek için dependency eklenmesi gerekir.
    • Lombok'un en son versiyonunu projectlombok.org adresinden kontrol edebilirsiniz.
    • Proje kaynak koduna bir Java class eklenerek Lombok kullanımı gösterilebilir.
    09:19Lombok Annotation'ları
    • Lombok, get/set metotlarını otomatik olarak oluşturmak için @Getter ve @Setter annotation'larını sağlar.
    • Bu annotation'lar hem field'ın başına hem de class'ın başına yazılabilir.
    • Field'ın başına yazıldığında sadece o field için, class'ın başına yazıldığında tüm field'lar için get/set metotları oluşturulur.
    14:58Lombok Annotation'lar ve Get-Set Metotları
    • Lombok kütüphanesi sayesinde sınıf üzerinde get ve set metotları otomatik olarak oluşturulabilmektedir.
    • Eğer tüm field'lar için get-set metotları istenmiyorsa, @Getter ve @Setter annotation'larının parametreleri kullanılarak istenmeyen field'lar için bu özellikler kapatılabilir.
    • @Setter annotation'ında access level parametresi kullanılarak, field'ların setter'larının erişim seviyesi (public, private, package) ayarlanabilir.
    18:52ToString Annotation
    • @ToString annotation, sınıfın toString() metodu için otomatik kod üretir.
    • @ToString annotation'ında "of" parametresi kullanılarak sadece belirli field'ların toString() metoduna dahil edilmesi sağlanabilir.
    • Lombok annotation'ları kullanıldığında kod satır sayısı önemli ölçüde azalır.
    21:44Equals ve HashCode Annotation
    • @EqualsAndHashCode annotation, sınıfın equals() ve hashCode() metodlarını otomatik olarak üretir.
    • Java'da default olarak iki nesnenin eşitliği referans eşitliğiyle belirlenir, ancak @EqualsAndHashCode annotation ile farklı eşitlik kriterleri tanımlanabilir.
    • @EqualsAndHashCode annotation'ında "of" parametresi kullanılarak eşitlik kontrolü için hangi field'ların kullanılacağı belirlenebilir.
    25:37Constructor Annotation'ları
    • @NoArgsConstructor annotation, sınıf için parametresiz (boş) constructor üretir.
    • @AllArgsConstructor annotation, tüm field'ları parametre alan constructor üretir.
    • @RequiredArgsConstructor annotation, final ve non-null field'ları parametre alan constructor üretir.
    29:22Lombok Annotation'ları
    • @AllArgsConstructor, tüm field'ları kullanarak bir contract oluşturmayı sağlar ve erişim belirleyicisini değiştirebilirsiniz.
    • @RequiredArgsConstructor, final işaretlenmiş property'lerin constructor içerisinde enjekte edilmesini bekler, aksi takdirde hata verir.
    • @Data annotation, @ToString, @EqualsAndHashCode, getter, setter ve record constructor gibi annotation'ları default olarak eklemiş sayılır.
    35:30Builder Annotation
    • @Builder annotation, builder design pattern'ını implemente etmemizi sağlar.
    • Builder yöntemi ile nesne instance'ı yaratırken, builder metoduyla başlayıp propertileri seçerek build ederek nesne oluşturulur.
    • Builder yöntemi, nesne oluşturulurken daha kontrolü ve okunabilirliği artırır.
    38:25Utility Class Annotation
    • @UtilityClass annotation, utility class'ları için kullanılır ve class'ı otomatikman final yapar.
    • Utility class'ın tüm metotlarını statik olarak işaretler ve constructor'ı engeller.
    • Utility class'lar statik metotlar içerir ve instance'ın oluşturulmasını istemez, bu annotation bu durumu otomatik olarak sağlar.
    43:55Annotation Kullanımı ve Kod Azaltma
    • Annotation listesi, kod boyutunu azaltmaya yardımcı olur ve 51 satırı yaklaşık 10-15 satıra indirir.
    • Builderplate, IDE'den oluşturulan kodları azaltmamızı sağlar.
    • Utility sınıfında kullanılan 5-6 adet annotation, kodun daha az satıra indirilmesine yardımcı olur.
    44:54Null Annotation Kullanımı
    • @Null annotation, null pointer'ları kontrol etmek için kullanılır.
    • Bu annotation, bir nesnenin null olmaması gerektiğini belirtir ve IDE, bu kontrolü otomatik olarak yapar.
    • Eğer null olmayan bir nesne null olabilirse, annotation bu durumu algılayarak kodu compile etmeyi engeller.
    45:59Kod Örneği ve Hata Kontrolü
    • Utility sınıfında trimPerson metoduna null değer gönderilirse, IDE hata bildirir.
    • Metod ismi değiştirilerek hangi metodun çağrıldığından emin olunabilir.
    • @Null annotation, null pointer exception'ı önleyerek kodun daha güvenilir olmasını sağlar.

    Yanıtı değerlendir

  • Yazeka sinir ağı makaleleri veya videoları özetliyor