SPRING: EXTENDING APPLICATIONS WITH ASPECT-ORIENTED PROGRAMMING EĞİTİMİ

AOP ile uygulamaları kodunu değiştirmeden genişletin

Aspect tasarımı, introduction ile arayüz ekleme, AspectJ load-time weaving, transaction ve cache gibi çerçeve aspect'leri ve test uygulamalı işlenir

AOP ile Spring uygulamalarını genişletme eğitimi; aspect tasarımı, introduction, çerçeve aspect'lerinin iç yapısı, AspectJ weaving ve aspect testlerini kapsar.

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

Eğitim Hakkında

AOP ile mevcut Spring uygulamalarını genişletme

Eğitim, AOP'yi mevcut uygulamaları genişletme aracı olarak ele alır. Aspect sınıfı tasarımı, özel anotasyonla tetikleme, @DeclareParents ile introduction, Spring'in kendi aspect'leri (@Transactional, @Cacheable, @Async), AspectJ ile load-time weaving, performans ve gözlemlenebilirlik aspect'leri, aspect'lerin test edilmesi ve AOP'nin kötüye kullanımını önleyecek tasarım ilkeleri uygulamalı işlenir.

Süre ve Format

2 Gün. Her gün dört modül; 1. gün Aspect Tasarımı ve Introduction; 2. gün Çerçeve Aspect'leri, AspectJ ve Test.

Seviye

Orta Seviye — AOP ile uygulama genişletme: aspect tasarımı, introduction, AspectJ ve gerçek kullanım örnekleri

Öğrenme Metodu

Katılımcılar var olan bir sipariş uygulamasına kodunu değiştirmeden denetim, önbellek, ölçüm ve yeniden deneme davranışları ekler.

Neden Bu Eğitim?

🧩Kodsuz Genişletme

Mevcut iş kodunu değiştirmeden yeni davranışlar eklemeyi uygularsınız.

🔬Çerçeve İçini Anlama

@Transactional ve @Cacheable'ın aspect olarak nasıl çalıştığını kavrarsınız.

📐Tasarım Disiplini

Aspect'lerin ne zaman faydalı, ne zaman zararlı olduğuna karar verirsiniz.

Anahtar Konular

spring aopaop ile genişletmedeclareparents introductionaspectj load time weavingspring transactional proxycacheable aspectözel anotasyon aspectspring retrycglib proxy
“Gücünü saklayan aspect, kodu okunur tutar.”

Ön Koşullar

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

1
Spring AOP temeli

Advice ve pointcut kavramları bilinmelidir.

2
Spring Boot

Basit bir Boot uygulaması geliştirmiş olmak gerekir.

3
Anotasyon yazımı

Java'da özel anotasyon tanımlama bilgisi faydalıdır.

4
Ortam

JDK 17, Maven ve IntelliJ IDEA kurulu olmalı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ı anotasyonla tetiklenen aspect'ler ve introduction ile genişletme yapar.
Modül 1
Aspect Mimarisi
  • Çapraz kesen ilgi tespiti
  • Aspect sınıfı sorumluluk ayrımı
  • Özel anotasyon (@Retention, @Target) tanımı
  • Anotasyon parametreleriyle yapılandırılabilir aspect
  • Aspect'in Spring bean olarak kaydı
  • Paket yapısı ve bağımlılık yönü
Modül 2
Introduction
  • @DeclareParents ile arayüz ekleme
  • Mixin sınıfı yazımı
  • Auditable arayüzü ve LastModified örneği
  • Proxy'yi arayüze çevirme (cast)
  • Introduction'ın sınırları
  • Alternatif: kompozisyon ve decorator
Modül 3
Denetim ve Ölçüm
  • Kim, ne zaman, ne yaptı denetim kaydı
  • Dönüş değerinin loglanması ve maskeleme
  • Micrometer @Timed benzeri ölçüm aspect'i
  • Yavaş metot eşik uyarısı
  • Korelasyon id ile log zenginleştirme
  • Aspect'in performansa etkisinin ölçülmesi
Modül 4
Dayanıklılık Aspect'leri
  • Yeniden deneme: istisna filtresi ve backoff
  • İdempotent çağrı koruması
  • Devre kesici benzeri basit koruma
  • Rate limit aspect'i
  • Zaman aşımı yönetimi
  • Spring Retry ile karşılaştırma
Günün hedefiKatılımcı Spring'in kendi aspect'lerini çözümler, AspectJ weaving'i dener ve aspect'leri test eder.
Modül 1
Spring'in Aspect'leri
  • @Transactional'ın TransactionInterceptor ile çalışması
  • @Cacheable ve CacheInterceptor
  • @Async ve AsyncExecutionInterceptor
  • @Validated metot doğrulaması
  • @PreAuthorize ve MethodSecurityInterceptor
  • Advisor ve Advice zincirinin debug ile görülmesi
Modül 2
Proxy Davranışı
  • JDK proxy, CGLIB ve spring.aop.proxy-target-class
  • Self-invocation ve AopContext.currentProxy
  • Private ve final metotlara uygulanamama
  • Proxy'nin içte getClass çıktısı
  • @EnableAspectJAutoProxy exposeProxy
  • ProxyFactory ile programatik proxy
Modül 3
AspectJ
  • AspectJ ve Spring AOP karşılaştırması
  • Compile-time weaving ve aspectj-maven-plugin
  • Load-time weaving ve aop.xml
  • Alan erişimi ve yapıcı pointcut'ları
  • AspectJ ile domain nesnesine bağımlılık enjeksiyonu (@Configurable)
  • Hangi durumda AspectJ gerekir
Modül 4
Test ve Bakım
  • Aspect'i birim testte AspectJProxyFactory ile deneme
  • @SpringBootTest ile entegrasyon testi
  • Aspect ile tetiklenen yan etkilerin doğrulanması
  • AOP kullanımının kod okunabilirliğine etkisi
  • Aşırı kullanım anti-pattern'leri
  • Ekip için aspect rehberi ve kod inceleme ölçütleri

Eğitim Kazanımları

Program sonunda katılımcılar:

✅
Aspect Tasarımı

Anotasyon tetikli ve yapılandırılabilir aspect'ler tasarlayabilirsiniz.

✅
Introduction

@DeclareParents ile mevcut sınıflara arayüz davranışı ekleyebilirsiniz.

✅
Denetim Aspect'i

Kimin ne yaptığını kaydeden denetim aspect'i yazabilirsiniz.

✅
Dayanıklılık

Yeniden deneme ve zaman aşımı aspect'lerini uygulayabilirsiniz.

✅
Çerçeve İçi Bilgi

@Transactional ve @Cacheable'ın interceptor zincirini açıklayabilirsiniz.

✅
Proxy Tanısı

Self-invocation ve proxy türü kaynaklı hataları çözebilirsiniz.

✅
AspectJ Weaving

Load-time weaving'i yapılandırıp Spring AOP ile farkını açıklayabilirsiniz.

✅
Aspect Testi

Aspect'leri birim ve entegrasyon testlerle doğrulayabilirsiniz.

Kimler İçin Uygundur?

  • Spring AOP'ye giriş yapmış
  • mevcut kodu değiştirmeden yeni davranış eklemek isteyen Java geliştiricileri ile mimarlar için uygundur

Sıkça Sorulan Sorular

Bu eğitim kimler için uygundur?
Spring AOP'ye giriş yapmış ve mevcut kodu değiştirmeden yeni davranış eklemek isteyen Java geliştiricileri ile mimarlar için uygundur.
Bu eğitim advice eğitiminin devamı mı?
Advice türlerini bilmeniz yeterlidir; burada ağırlık aspect tasarımı, introduction ve AspectJ üzerindedir.
AspectJ gerçekten gerekli mi?
Çoğu projede Spring AOP yeter; hangi durumlarda weaving gerektiği ikinci günde örnekle gösterilir.
Mevcut projemizde uygulanabilir mi?
Evet, örnek uygulama benzer bir yapıdadır; aspect ekleme adımları kendi kod tabanınıza uyarlanabilir.
Sertifika verilir mi?
Digital Vizyon Akademi Katılım ve Başarı Sertifikası verilir.

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. Spring: Extending Applications with Aspect-oriented Programm Sertifika Kodu DV-2026XX00 Tarih 27.10.2026 Yetkili İmza DV AKADEMİ

Eğitim Bilgileri

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

Bu Eğitimle Birlikte Tercih Edilenler

Java ve JVMThe Spring Web MVC Framework: Building Web Applications & REST APIs Eğitimi
Yazılım Geliştirme Eğitimleri

The Spring Web MVC Framework: Building Web Applications & REST APIs Eğitimi

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

Spring Web MVC eğitimi: DispatcherServlet, Thymeleaf, REST denetleyicileri, Bean Validation, ProblemDetail, Spring Security ve MockMvc testleri uygulamalı işlen

Detayları Gör →
Java ve JVMThe Spring Web MVC Framework: Getting Started Eğitimi
Yazılım Geliştirme Eğitimleri

The Spring Web MVC Framework: Getting Started Eğitimi

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

Spring Web MVC başlangıç eğitimi: DispatcherServlet, controller, istek eşleme, Model, Thymeleaf sayfaları ve form işleme ile ilk web uygulaması.

Detayları Gör →
Java ve JVMThe Spring Web MVC Framework: Handling Requests & Errors Eğitimi
Yazılım Geliştirme Eğitimleri

The Spring Web MVC Framework: Handling Requests & Errors Eğitimi

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

Spring MVC istek işleme ve hata yönetimi eğitimi: veri bağlama, Converter, Bean Validation, @ControllerAdvice, ProblemDetail ve hata sayfaları uygulamalı işleni

Detayları Gör →
Java ve JVMThe Spring Web MVC Framework: Working With Forms & Files Eğitimi
Yazılım Geliştirme Eğitimleri

The Spring Web MVC Framework: Working With Forms & Files Eğitimi

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

Spring MVC form ve dosya eğitimi: form bağlama, doğrulama, çok adımlı akış, MultipartFile ile yükleme, güvenli indirme ve path traversal korumaları.

Detayları Gör →
Java ve JVMWeb Application Development Using Spring, Hibernate and JPA Eğitimi
Yazılım Geliştirme Eğitimleri

Web Application Development Using Spring, Hibernate and JPA Eğitimi

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

Spring, Hibernate ve JPA ile web uygulaması geliştirme eğitimi: entity eşleme, N+1 çözümü, transaction, Spring Data, Spring Security ve Testcontainers.

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