Yay Çerçeveli AOP

Spring Framework'ün temel bileşenlerinden biri, Aspect oriented programming (AOP)çerçeve. Görünüşe Dayalı Programlama, program mantığını sözde endişeler adı verilen farklı bölümlere ayırmayı gerektirir. Bir uygulamanın birden çok noktasını kapsayan işlevlerecross-cutting concernsve bu kesişen endişeler kavramsal olarak uygulamanın iş mantığından ayrıdır. Günlüğe kaydetme, denetim, bildirimsel işlemler, güvenlik, önbelleğe alma vb. Gibi çeşitli yaygın iyi örnekler vardır.

OOP'de modülerliğin ana birimi sınıftır, oysa AOP'de modülerlik birimi görünümdür. Bağımlılık Ekleme, uygulama nesnelerinizi birbirinden ayırmanıza yardımcı olur ve AOP, kesişen endişeleri etkiledikleri nesnelerden ayırmanıza yardımcı olur. AOP, Perl, .NET, Java ve diğerleri gibi programlama dillerindeki tetikleyiciler gibidir.

Yaylı AOP modülü, bir uygulamaya müdahale etmek için önleyiciler sağlar. Örneğin, bir yöntem yürütüldüğünde, yöntemin yürütülmesinden önce veya sonra ekstra işlevsellik ekleyebilirsiniz.

AOP Terminolojileri

AOP ile çalışmaya başlamadan önce, AOP kavramları ve terminolojisine aşina olalım. Bu terimler Bahar'a özgü değildir, daha çok AOP ile ilgilidir.

Sr.No Şartlar ve Açıklama
1

Aspect

Bu, kesişen gereksinimleri sağlayan bir dizi API'ye sahip bir modüldür. Örneğin, bir günlük kaydı modülü, günlük kaydı için AOP yönü olarak adlandırılır. Bir uygulamanın, ihtiyaca bağlı olarak herhangi bir sayıda yönü olabilir.

2

Join point

Bu, uygulamanızda AOP yönünü takabileceğiniz bir noktayı temsil eder. Ayrıca Spring AOP çerçevesi kullanılarak bir eylemin yapılacağı uygulamada gerçek yer diyebilirsiniz.

3

Advice

Bu, yöntemin yürütülmesinden önce veya sonra yapılacak gerçek eylemdir. Bu, Spring AOP çerçevesi tarafından programın yürütülmesi sırasında çağrılan gerçek bir kod parçasıdır.

4

Pointcut

Bu, bir tavsiyenin uygulanması gereken bir veya daha fazla birleştirme noktası kümesidir. AOP örneklerimizde göreceğimiz gibi, ifadeleri veya kalıpları kullanarak nokta kesimlerini belirtebilirsiniz.

5

Introduction

Giriş, mevcut sınıflara yeni yöntemler veya öznitelikler eklemenize izin verir.

6

Target object

Bir veya daha fazla yönden tavsiye edilen nesne. Bu nesne her zaman, tavsiye edilen nesne olarak da anılan vekil bir nesne olacaktır.

7

Weaving

Dokuma, tavsiye edilen bir nesne oluşturmak için yönleri diğer uygulama türleri veya nesnelerle ilişkilendirme işlemidir. Bu, derleme zamanında, yükleme zamanında veya çalışma zamanında yapılabilir.

Tavsiye Türleri

İlkbahar konuları, aşağıda belirtilen beş tür tavsiye ile işe yarayabilir -

Sr.No Tavsiye ve Açıklama
1

before

Bir yöntemi uygulamadan önce tavsiye çalıştırın.

2

after

Sonucu ne olursa olsun, yöntem çalıştırıldıktan sonra tavsiye çalıştırın.

3

after-returning

Yöntemin çalıştırılmasından sonra, yalnızca yöntem başarıyla tamamlanırsa tavsiye çalıştırın.

4

after-throwing

Yöntemin çalıştırılmasından sonra, yalnızca yöntem bir istisna atarak çıkarsa çalıştır.

5

around

Tavsiye edilen yöntemin kullanılmasından önce ve sonra tavsiye çalıştırın.

Özel Yönlerin Uygulanması

Bahar, @AspectJ annotation style yaklaşım ve schema-basedözel yönleri uygulama yaklaşımı. Bu iki yaklaşım aşağıdaki bölümlerde ayrıntılı olarak açıklanmıştır.

Sr.No Yaklaşım ve Açıklama
1 XML Şeması tabanlı

Yönler, XML tabanlı konfigürasyonun yanı sıra normal sınıflar kullanılarak gerçekleştirilir.

2 @AspectJ tabanlı

@AspectJ, Java 5 açıklamaları ile açıklamalı normal Java sınıfları olarak durumları bildirme stilini ifade eder.