Junior — Middle
102
Wyjaśnij koncepcję Interceptora w Java i na czym polega jego cel
Firmy, w których zadano pytania
Odpowiedź od AI
sobes.tech AI
Interceptor to wzorzec projektowy, który pozwala na przechwytywanie wywołań metod, żądań lub wiadomości w celu wykonania dodatkowej logiki przed lub po głównym działaniu.
W Javie, Interceptor jest często używany w technologiach takich jak Java EE (np. CDI, EJB), gdzie można zdefiniować metody, które będą automatycznie wywoływane podczas wywoływania metod biznesowych, w celu implementacji funkcji przekrojowych: logowania, transakcji, bezpieczeństwa, buforowania itp.
Przykład prostego Interceptora w Java EE:
@Interceptor
public class LoggingInterceptor {
@AroundInvoke
public Object logMethod(InvocationContext ctx) throws Exception {
System.out.println("Wywołanie metody: " + ctx.getMethod().getName());
Object result = ctx.proceed(); // wywołanie docelowej metody
System.out.println("Metoda wykonana");
return result;
}
}
Cel Interceptora to oddzielenie logiki pomocniczej od głównej, zwiększenie modularności i ponowne użycie kodu.