Junior — Middle
Objasnite koncept Interceptor u Javi i u čemu se sastoji njegova svrha
sobes.tech АИ
Одговор од АИ
Interceptor je obrazac za dizajn koji omogućava presretanje poziva metoda, zahteva ili poruka za izvršavanje dodatne logike pre ili posle glavne radnje.
U Javi, Interceptor se često koristi u tehnologijama kao što su Java EE (npr. CDI, EJB), gde se mogu definisati metode koje će se automatski pozivati prilikom poziva poslovnih metoda, za implementaciju funkcionalnosti preseka: logovanje, transakcije, sigurnost, keširanje itd.
Primer jednostavnog Interceptora u Java EE:
@Interceptor
public class LoggingInterceptor {
@AroundInvoke
public Object logMethod(InvocationContext ctx) throws Exception {
System.out.println("Poziv metode: " + ctx.getMethod().getName());
Object result = ctx.proceed(); // poziv ciljne metode
System.out.println("Metoda izvršena");
return result;
}
}
Svrha Interceptora je da odvoji pomoćnu logiku od glavne, poveća modularnost i ponovnu upotrebu koda.