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