Junior — Middle
Vysvětlete koncept Interceptoru v Java a v čem spočívá jeho účel
sobes.tech AI
Odpověď od AI
Interceptor je návrhový vzor, ktorý umožňuje zachytávať volania metód, požiadavky alebo správy na vykonanie dodatočnej logiky pred alebo po hlavnej akcii.
V Jave sa Interceptor často používa v technológiách ako Java EE (napríklad CDI, EJB), kde je možné definovať metódy, ktoré budú automaticky volané pri volaní podnikových metód, na implementáciu priečnych funkcií: logovanie, transakcie, bezpečnosť, cache atď.
Príklad jednoduchého Interceptoru v Jave EE:
@Interceptor
public class LoggingInterceptor {
@AroundInvoke
public Object logMethod(InvocationContext ctx) throws Exception {
System.out.println("Volanie metódy: " + ctx.getMethod().getName());
Object result = ctx.proceed(); // volanie cieľovej metódy
System.out.println("Metóda dokončená");
return result;
}
}
Účelom Interceptoru je oddeliť pomocnú logiku od hlavnej, zvýšiť modularitu a opätovné použitie kódu.