[JAVA] cadre de printemps Mémo d'étude simple (2): AOP
cadre de printemps Mémo d'étude simple (2): AOP
Essentiel
--Séparer le code dispersé du traitement essentiel
Façon de penser
- Traitement dispersé mis en œuvre à travers
Scène d'application typique
- Sortie de journal
--Vérification de sécurité
--Transaction
--Anacardier
--Surveillance
--Gestion des exceptions
Exemple de source
@Aspect
@Component
public class MethodStartLoggingAspect {
@Before("execution(* *..*ServiceImpl.*(..))")
public void startLog(JoinPoint jp) {
System.out.println("Début de la méthode:" + jp.getSignature());
}
}
Méthode de mise en œuvre des conseils
- @Before
--join point Implémentation précédente
- @AfterReturning
- Mis en œuvre après la fin du point de jointure normalement
- Non implémenté lors de la levée d'une exception
- @AfterThrowing
- Implémenté lorsqu'une exception est levée
- Ne pas exécuter après que le point de jointure se termine normalement
- @After
- Implémenté après la fin indépendamment de la levée d'exception
- @Around
- Implémenté avant et après le point de jointure
formule de coupe de point
--Comment sélectionner le point de jonction
--Exemple: "exécution (* * .. * ServiceImpl. * (..))"
- Méthode spécifiée
- Spécification de la méthode
- Spécification du type de classe
--Autres spécifications telles que le nom
Annotation régulière AOP
--Transaction
- @Transaction
--Commit lorsque la méthode se termine normalement
--Rollback lorsque la méthode se termine anormalement
--Authentification
- @PreAuthorize
--Anacardier
- @Cacheable
--Traitement asynchrone
- @Async
--Traitement de la répétition
- @Retryable