[JAVA] Frühlingsrahmen Einfaches Studienmemo (2): AOP
Frühlingsrahmen Einfaches Studienmemo (2): AOP
Wesentlich
- Trennen Sie verstreuten Code von der wesentlichen Verarbeitung
Denkweise
- Implementierte Streuverarbeitung über
Typische Anwendungsszene
- Protokollausgabe
--Sicherheitskontrolle
--Transaktion
- Cashew
--Überwachung
--Ausnahmebehandlung
Quellenbeispiel
@Aspect
@Component
public class MethodStartLoggingAspect {
@Before("execution(* *..*ServiceImpl.*(..))")
public void startLog(JoinPoint jp) {
System.out.println("Methodenstart:" + jp.getSignature());
}
}
Beratungsimplementierungsmethode
- @Before
--join point Vorherige Implementierung
- @AfterReturning
- Wird implementiert, nachdem der Verbindungspunkt normal endet
- Wird beim Auslösen einer Ausnahme nicht implementiert
- @AfterThrowing
- Wird implementiert, wenn eine Ausnahme ausgelöst wird
- Nicht ausführen, nachdem der Verbindungspunkt normal endet
- @After
--Implementiert nach dem Ende, unabhängig vom Ausnahmefall
- @Around
- Vor und nach dem Verbindungspunkt implementiert
Punktschnittformel
- So wählen Sie den Verbindungspunkt aus
--Beispiel: "Ausführung (* * .. * ServiceImpl. * (..))"
- Spezifizierte Methode
--Methodenspezifikation
- Klassentypspezifikation
- Andere Spezifikationen wie Name
AOP regelmäßige Annotation
--Transaktion
- @Transaction
- Commit, wenn die Methode normal endet
--Rollback, wenn die Methode abnormal beendet wird
--Authentifizierung
- @PreAuthorize
- Cashew
- @Cacheable
- Asynchrone Verarbeitung
- @Async
--Retrische Verarbeitung
- @Retryable