Junior — Middle
Explicați conceptul de Interceptor în Java și în ce constă scopul său
sobes.tech AI
Răspuns de la AI
Interceptor este un pattern de proiectare care permite interceptarea apelurilor de metode, solicitări sau mesaje pentru a executa logică suplimentară înainte sau după acțiunea principală.
În Java, Interceptor este adesea utilizat în tehnologii precum Java EE (de exemplu, CDI, EJB), unde se pot defini metode care vor fi apelate automat la invocarea metodelor de business, pentru implementarea funcționalităților transversale: logare, tranzacții, securitate, caching etc.
Exemplu de un Interceptor simplu în Java EE:
@Interceptor
public class LoggingInterceptor {
@AroundInvoke
public Object logMethod(InvocationContext ctx) throws Exception {
System.out.println("Apelare metodă: " + ctx.getMethod().getName());
Object result = ctx.proceed(); // apelarea metodei țintă
System.out.println("Metodă executată");
return result;
}
}
Scopul Interceptorului este de a separa logica auxiliară de cea principală, de a crește modularitatea și reutilizarea codului.