ADVANCED FEATURES IN JAVA: USING CUSTOM ANNOTATIONS EĞİTİMİ

Kendi annotation'ını yaz, çerçeveni kur

Özel annotation tanımlayın, reflection ile işleyin, doğrulama ve DI mini çerçevesi ile annotation processor geliştirin.

Java Özel Annotation Geliştirme eğitimi 2 günlük uygulamalı programda @interface tanımı, reflection ile okuma, doğrulama çerçevesi, mini orm eşleme gibi konuları kapsar. Eleman, varsayılan değer ve meta-annotation içeren özel annotation yazabilirsiniz.

2 gün İleri Seviye Online / Yüz Yüze / Hibrit Sertifikalı

Eğitim Hakkında

Özel annotation tanımı, reflection işleme ve annotation processor

Bu eğitim, Java'da özel annotation tasarımını ve işlenmesini uçtan uca öğretir. @interface sözdizimi, eleman tipleri ve varsayılan değerler, @Retention/@Target/@Repeatable seçimi, Class ve Method reflection ile çalışma zamanı işleme anlatılır. Katılımcılar @NotNull/@Range tarzı doğrulama çerçevesi, @Column ile mini ORM eşleme, @Inject ile basit bağımlılık enjeksiyonu ve @Timed ile dinamik proxy tabanlı ölçüm geliştirir. Son bölümde javax.annotation.processing ile derleme zamanı annotation processor, AbstractProcessor ve kod üretimine giriş yapılır.

Süre ve Format

2 Gün. Her gün dört modül; katılımcılar annotation tasarımı ve reflection konusundan başlayıp proxy, di ve annotation processor konusuyla tamamlar.

Seviye

İleri Seviye — Kendi annotation'larınızı tanımlama, reflection ile işleme ve derleme zamanı annotation processor yazma.

Öğrenme Metodu

Katılımcılar adım adım küçük bir doğrulama ve bağımlılık enjeksiyonu çerçevesi yazar; her annotation reflection ve JUnit testleriyle doğrulanır.

Neden Bu Eğitim?

🧰Çerçeve Mantığı

Spring ve Hibernate'in annotation tabanlı çalışma biçimini kendi koduyla yeniden kurar.

✍️Özel API

Ekibiniz için tekrar eden kodu azaltan deklaratif annotation'lar tasarlarsınız.

⚙️Derleme Zamanı

Annotation processor ile derleme sırasında denetim ve kod üretimi yaparsınız.

Anahtar Konular

java custom annotationjava özel annotationannotation processorjava reflectionjava dependency injection@interface javajava dinamik proxyjava doğrulama çerçevesijava annotation örneklerijavapoet
“İyi bir annotation, tekrar eden kodu niyete dönüştürür.”

Ön Koşullar

Eğitimden verim almak için faydalı olacak bilgi ve ortam gereksinimleri

1
Java Sözdizimi

Değişken, döngü, metot ve sınıf tanımlayabilecek düzeyde temel Java bilgisi beklenir.

2
Nesne Yönelimli Bilgi

Sınıf, kalıtım, arayüz ve polimorfizm kavramlarına aşinalık faydalıdır.

3
Geliştirme Ortamı

JDK 17 veya üzeri ile IntelliJ IDEA ya da Eclipse kurulu bir bilgisayar gerekir.

4
Komut Satırı

javac, java ve Maven/Gradle ile derleme-çalıştırma adımlarını izleyebilmek yararlıdır.

Eğitim İçeriği

Programın gün gün akışı aşağıdadır. Bir güne tıklayarak o günün modüllerini ve içeriklerini görebilirsiniz.

Günün hedefiKatılımcı, özel annotation tanımlar ve reflection ile doğrulama ve eşleme mantığı yazar.
Modül 1
@interface Tanımı
  • Annotation bildirimi ve izin verilen eleman tipleri
  • default değerler ve value() kısayol kuralı
  • İç içe annotation ve dizi eleman kullanımı
  • @Retention(RUNTIME) ve @Target seçimi
  • @Repeatable ile tekrarlanabilir annotation
  • API tasarımında annotation mı, arayüz mü kararı
Modül 2
Reflection ile Okuma
  • Class.getDeclaredFields ve Method listesi
  • getAnnotation ve getAnnotationsByType
  • private alanlara setAccessible ile erişim
  • Parametre annotation'larını okuma
  • Annotation elemanlarını metotla çağırma
  • Reflection maliyeti ve önbellekleme
Modül 3
Doğrulama Çerçevesi
  • @NotNull, @Range ve @Pattern annotation'ları
  • Validator sınıfı: alanları tarayıp denetleme
  • Hata mesajlarını annotation elemanından alma
  • Doğrulama sonucunu ConstraintViolation listesine toplama
  • Kalıtımla gelen alanları tarama
  • JUnit 5 ile doğrulama testleri
Modül 4
Mini ORM Eşleme
  • @Table ve @Column annotation'ları
  • Sınıftan CREATE TABLE ifadesi üretme
  • Nesneden INSERT SQL ve PreparedStatement parametreleri
  • ResultSet'ten nesne oluşturma (mapper)
  • @Id ve otomatik anahtar alanı
  • SQL injection riski ve parametreli sorgu zorunluluğu
Günün hedefiKatılımcı, annotation tabanlı DI ve ölçüm yapıları kurar ve basit bir annotation processor yazar.
Modül 1
Dinamik Proxy
  • java.lang.reflect.Proxy ve InvocationHandler
  • Arayüz tabanlı proxy oluşturma
  • @Timed ile metot süresi ölçümü
  • @Logged ile giriş-çıkış kaydı
  • @Transactional benzeri sarmalama deseni
  • CGLIB ve ByteBuddy ile sınıf proxy'sine genel bakış
Modül 2
Mini DI Çerçevesi
  • @Component ve @Inject annotation'ları
  • Sınıf yolunu tarayıp bileşenleri bulma
  • Constructor ve alan enjeksiyonu
  • Singleton ve prototype kapsamları
  • Döngüsel bağımlılık tespiti
  • Spring'in aynı mantığı nasıl kullandığının karşılaştırılması
Modül 3
Annotation Processor
  • AbstractProcessor ve @SupportedAnnotationTypes
  • Round ve RoundEnvironment kavramı
  • Derleme zamanında kural ihlali için hata üretme
  • Messager ile derleyici uyarısı verme
  • META-INF/services ile processor kaydı
  • Maven maven-compiler-plugin ile processor çalıştırma
Modül 4
Kod Üretimi ve Pratik
  • Filer ile yeni .java dosyası üretme
  • Builder sınıfı üreten @GenerateBuilder örneği
  • JavaPoet ile üretimi kolaylaştırma
  • Lombok ve MapStruct'ın çalışma biçimi
  • Annotation tasarımında sürümleme ve geriye uyumluluk
  • Proje: kendi doğrulama ve DI çerçevenizin birleştirilmesi

Eğitim Kazanımları

Program sonunda katılımcılar:

✅
Annotation Tanımı

Eleman, varsayılan değer ve meta-annotation içeren özel annotation yazabilirsiniz.

🧠
Reflection İşleme

Çalışma zamanında sınıf, alan ve metot annotation'larını okuyup işleyebilirsiniz.

⚙️
Doğrulama Motoru

@NotNull ve @Range tarzı annotation tabanlı doğrulama çerçevesi geliştirebilirsiniz.

🔍
ORM Eşleme

Annotation ile nesne-tablo eşlemesi yapan mini bir ORM yazabilirsiniz.

🛠️
Dinamik Proxy

InvocationHandler ile @Timed ve @Logged gibi kesişen ilgileri uygulayabilirsiniz.

📈
DI Kurma

Annotation tabanlı bağımlılık enjeksiyonu mantığını gerçekleyebilirsiniz.

🧩
Annotation Processor

AbstractProcessor ile derleme zamanı denetimi yazabilirsiniz.

🚀
Kod Üretimi

Processor ile Builder gibi yardımcı sınıfları otomatik üretebilirsiniz.

Kimler İçin Uygundur?

  • Yerleşik annotation'ları ve reflection temelini bilen
  • çerçeve veya kütüphane yazmak isteyen orta-ileri düzey Java geliştiricileri için uygundur

Sıkça Sorulan Sorular

Bu eğitim kimler için uygundur?
Yerleşik annotation'ları ve reflection temelini bilen, çerçeve veya kütüphane yazmak isteyen orta-ileri düzey Java geliştiricileri için uygundur.
Bu eğitim için reflection bilgisi gerekli mi?
Temel Class ve Method kavramlarına aşinalık yeterlidir; reflection API'si eğitimin ilk gününde annotation okumak için gereken ölçüde gösterilir.
Annotation processor ile reflection farkı nedir?
Reflection çalışma zamanında, annotation processor ise derleme zamanında çalışır; eğitimde aynı doğrulama ihtiyacı iki yöntemle çözülüp performans ve hata yakalama zamanı karşılaştırılır.
Eğitim için hangi ön bilgi ve ortam gerekir?
Değişken, döngü, metot ve sınıf tanımlayabilecek düzeyde temel Java bilgisi beklenir. Sınıf, kalıtım, arayüz ve polimorfizm kavramlarına aşinalık faydalıdır. JDK 17 veya üzeri ile IntelliJ IDEA ya da Eclipse kurulu bir bilgisayar gerekir.
Eğitim sonunda sertifika verilir mi?
Eğitimi tamamlayan katılımcılara Digital Vizyon Akademi Katılım ve Başarı Sertifikası verilir. 2 günlük program boyunca uygulama çalışmalarının tamamlanması beklenir.

Sertifikalandırma

Bu eğitim Digital Vizyon Akademi Başarı Sertifikası ile tamamlanır.

Eğitim başında “Ön Test”, bitiminde “Son Test” uygulanarak gelişim ölçümlenir. Değerlendirme formunu dolduran katılımcılar sertifikalarını alır. Sertifikanızın geçerliliğini Sertifika Sorgulama sayfasından doğrulayabilirsiniz.

Örnek Sertifika d Digital Vizyon AKADEMİ KATILIM SERTİFİKASI Bu sertifika [Katılımcı Adı Soyadı] adlı katılımcının aşağıdaki eğitim programını başarıyla tamamladığını belgeler. Advanced Features in Java: Using Custom Annotations Eğitimi Sertifika Kodu DV-2026XX00 Tarih 27.10.2026 Yetkili İmza DV AKADEMİ

Eğitim Bilgileri

Süre2 gün
Seviyeİleri Seviye
FormatOnline / Yüz Yüze / Hibrit
Sertifika✓ Var
Hemen Bilgi Al
İlgili Eğitimler

Bu Eğitimle Birlikte Tercih Edilenler

Java ve JVMJava SE : JShell Eğitimi
Yazılım Geliştirme Eğitimleri

Java SE : JShell Eğitimi

2 günBaşlangıçOnline / Yüz Yüze / Hibrit

JShell eğitimi: Java REPL ile etkileşimli kod, snippet komutları, classpath, .jsh script ve JShell API. Uygulamalı 2 gün, DVA katılım sertifikası.

Detayları Gör →
Java ve JVMJava SE : Modular Design Eğitimi
Yazılım Geliştirme Eğitimleri

Java SE : Modular Design Eğitimi

2 günOrtaOnline / Yüz Yüze / Hibrit

Java SE modüler tasarım eğitimi: JPMS, module-info, ServiceLoader, jdeps, jlink ve klasik projeyi modüle geçirme. 2 gün uygulamalı, DVA katılım sertifikası.

Detayları Gör →
Java ve JVMJava SE : More Operations on Member Variables & Methods Eğitimi
Yazılım Geliştirme Eğitimleri

Java SE : More Operations on Member Variables & Methods Eğitimi

2 günTemelOnline / Yüz Yüze / Hibrit

Java SE üye değişkenler ve metotlar eğitimi: static, final, kapsülleme, overloading, varargs ve başlatma sırası. Uygulamalı 2 gün, DVA katılım sertifikası.

Detayları Gör →
Java ve JVMJava SE : Objects & Classes Eğitimi
Yazılım Geliştirme Eğitimleri

Java SE : Objects & Classes Eğitimi

2 günBaşlangıçOnline / Yüz Yüze / Hibrit

Java SE nesneler ve sınıflar eğitimi: sınıf, yapıcı, kapsülleme, UML ve kütüphane mini projesi. Başlangıç seviyesi, 2 gün uygulamalı, DVA katılım sertifikası.

Detayları Gör →
Java ve JVMJava SE : Programming I Eğitimi
Yazılım Geliştirme Eğitimleri

Java SE : Programming I Eğitimi

2 günTemelOnline / Yüz Yüze / Hibrit

Java SE Programming I eğitimi: tipler, operatörler, döngüler, metotlar, diziler, String, istisna ve konsol uygulaması. 2 gün uygulamalı, DVA katılım sertifikası

Detayları Gör →
+90 (501) 369 40 14 WhatsApp [email protected] LinkedIn