Sobes.tech
Junior — Middle

Leg het concept van Interceptor in Java uit en wat het doel ervan is

sobes.tech AI

Antwoord van AI

Interceptor is een ontwerppatroon dat het mogelijk maakt om methodenaanroepen, verzoeken of berichten te onderscheppen om extra logica uit te voeren vóór of na de hoofdactie.

In Java wordt de Interceptor vaak gebruikt in technologieën zoals Java EE (bijvoorbeeld CDI, EJB), waar methoden kunnen worden gedefinieerd die automatisch worden aangeroepen bij het aanroepen van zakelijke methoden, om cross-cutting functionaliteiten te implementeren: logging, transacties, beveiliging, caching, enz.

Voorbeeld van een eenvoudige Interceptor in Java EE:

@Interceptor
public class LoggingInterceptor {
    @AroundInvoke
    public Object logMethod(InvocationContext ctx) throws Exception {
        System.out.println("Aanroep van methode: " + ctx.getMethod().getName());
        Object result = ctx.proceed(); // aanroep van de doelmethode
        System.out.println("Methode voltooid");
        return result;
    }
}

Het doel van de Interceptor is om de hulplogica te scheiden van de hoofdlogica, de modulariteit te verhogen en hergebruik van code te bevorderen.