10.1 Product List Overview
- Notice (Advice)
- Pre-notification (before)
- Post notification (after)
- return notification (after-returning)
- Exception Notification (after-throwing)
- Surround Notification (Around)
- Connection points (join point)
- Tangent point (Poincut)
- Facets (Aspect)
- Introduction (Introduction)
- Weave in (Weaving)
- Compile time
- Class Load Period
- Operating period
10.1 @Aspect defining slices, defining cut-in positions
Importorg.aspectj.lang.annotation.*; @Aspect Public classNotifier {@Before ("Execution (static void *). *.main (string[]) ") Public voidbefore () {System.out.println ("Application is running!"); } @After ("Execution (static void *). *.main (string[]) ") Public voidAfter () {System.out.println ("Execute end!"); } @AfterReturning ("Execution (static void *). *.main (string[]) ") Public voidafterreturning () {System.out.println ("Return end!"); } @AfterThrowing ("Execution (static void *). *.main (string[]) ") Public voidafterthrowing () {System.out.println ("Exception"); }}
10.2 Defining pointcuts and reusing pointcuts using Pointcup
Importorg.aspectj.lang.annotation.*; @Aspect Public classNotifier {@Pointcut ("Execution (static void *). *.main (string[]) ") Public voidPointcup () {} @Before ("Pointcup ()") Public voidbefore () {System.out.println ("Application is running!"); } @After ("Pointcup ()") Public voidAfter () {System.out.println ("Execute end!"); } @AfterReturning ("Pointcup ()") Public voidafterreturning () {System.out.println ("Return end!"); } @AfterThrowing ("Pointcup ()") Public voidafterthrowing () {System.out.println ("Exception"); }}
Spring-oriented facets