Sobes.tech
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.