Αρκετοί συνήθεις τύποι ειδοποιήσεων και οι βασικές τους λειτουργίες στο AOP:
@Before: Προειδοποίηση, που εκτελείται πριν από την εκτέλεση της μεθόδου προορισμού.
@After: Η ανάρτηση ειδοποίησης, ανεξάρτητα από το αποτέλεσμα εκτέλεσης της μεθόδου (συμπεριλαμβανομένων των εξαιρέσεων), θα εκτελεστεί μετά την εκτέλεση της μεθόδου προορισμού.
@AfterReturning: Ειδοποίηση μετά την επιστροφή, που εκτελείται αφού η μέθοδος στόχος τελειώσει κανονικά, αλλά δεν θα εκτελεστεί εάν η μέθοδος κάνει εξαίρεση.
@AfterThrowing: Ειδοποίηση εξαίρεσης, που εκτελείται όταν η μέθοδος στόχος δημιουργεί μια εξαίρεση.
@Around: Ειδοποίηση Surround, μπορείτε να εκτελέσετε προσαρμοσμένες λειτουργίες πριν και μετά την εκτέλεση της μεθόδου προορισμού και μπορείτε ακόμη και να αποφασίσετε εάν θα συνεχίσετε την εκτέλεση της μεθόδου προορισμού.
Η διαφορά μεταξύ της εντολής εκτέλεσης AOP στο Spring4 και το Spring5
Εντολή εκτέλεσης AOP το Spring4
Κανονική ακολουθία εκτέλεσης:
@Before (προειδοποίηση)
εκτέλεση μεθόδου στόχου
@After (ανάρτηση ειδοποίησης)
@AfterReturning (ειδοποίηση μετά την επιστροφή)
Ακολουθία εκτέλεσης εξαίρεσης:
@Before (προειδοποίηση)
Εκτέλεση μεθόδου στόχου (εξαίρεση ρίψεων)
@After (ανάρτηση ειδοποίησης)
@AfterThrowing (ειδοποίηση εξαίρεσης)
Εάν έχει διαμορφωθεί η ειδοποίηση surround (@Around), η προεπεξεργασία της ειδοποίησης surround θα εκτελεστεί πριν από το @Before και η μετα-επεξεργασία της ειδοποίησης surround θα εκτελεστεί επίσης πριν από τα @After, @AfterReturning και @AfterThrowing.
Εντολή εκτέλεσης AOP το Spring5
Την Άνοιξη 5, η εντολή εκτέλεσης του AOP έχει υποστεί ορισμένες αλλαγές, που αντικατοπτρίζονται κυρίως στη σειρά εκτέλεσης των @AfterReturning και @After:
Κανονική ακολουθία εκτέλεσης:
@Before (προειδοποίηση)
εκτέλεση μεθόδου στόχου
@AfterReturning (ειδοποίηση μετά την επιστροφή)
@After (ανάρτηση ειδοποίησης)
Ακολουθία εκτέλεσης εξαίρεσης:
@Before (προειδοποίηση)
Εκτέλεση μεθόδου στόχου (εξαίρεση ρίψεων)
@AfterThrowing (ειδοποίηση εξαίρεσης)
@After (ανάρτηση ειδοποίησης)
Εάν έχει διαμορφωθεί μια ειδοποίηση γύρω από (@Around), η σειρά εκτέλεσης της γύρω από την ειδοποίηση εξακολουθεί να είναι να εκτελέσει πρώτα την προεπεξεργασία της, μετά την εκτέλεση της μεθόδου στόχου και μετά άλλες ειδοποιήσεις (@AfterReturning, @AfterThrowing, @After) και τέλος την περιβάλλουσα Μετα-επεξεργασία των ειδοποιήσεων.