[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