Junior — Middle
Spiega il concetto di Interceptor in Java e qual è il suo scopo
sobes.tech AI
Risposta dell'AI
Interceptor è un pattern di progettazione che consente di intercettare chiamate ai metodi, richieste o messaggi per eseguire logiche aggiuntive prima o dopo l'azione principale.
In Java, l'interceptor è spesso usato in tecnologie come Java EE (ad esempio CDI, EJB), dove si possono definire metodi che vengono chiamati automaticamente durante l'invocazione di metodi di business, per implementare funzionalità trasversali: logging, transazioni, sicurezza, caching, ecc.
Esempio di un semplice Interceptor in Java EE:
@Interceptor
public class LoggingInterceptor {
@AroundInvoke
public Object logMethod(InvocationContext ctx) throws Exception {
System.out.println("Chiamata metodo: " + ctx.getMethod().getName());
Object result = ctx.proceed(); // chiamata al metodo target
System.out.println("Metodo eseguito");
return result;
}
}
Lo scopo dell'interceptor è separare la logica ausiliaria da quella principale, aumentare la modularità e il riutilizzo del codice.