Junior — Middle
Обяснете концепцията за Interceptor в Java и в какво се състои неговата цел
sobes.tech AI
Отговор от AI
Interceptor е шаблон за дизайн, който позволява прихващането на извиквания на методи, заявки или съобщения за изпълнение на допълнителна логика преди или след основното действие.
В Java, Interceptor често се използва в технологии като Java EE (например CDI, EJB), където могат да се дефинират методи, които ще бъдат автоматично извиквани при извикване на бизнес методи, за реализиране на кръстосани функции: логиране, транзакции, сигурност, кеширане и др.
Пример за прост Interceptor в Java EE:
@Interceptor
public class LoggingInterceptor {
@AroundInvoke
public Object logMethod(InvocationContext ctx) throws Exception {
System.out.println("Обаждане на метод: " + ctx.getMethod().getName());
Object result = ctx.proceed(); // извикване на целевия метод
System.out.println("Методът е изпълнен");
return result;
}
}
Целта на Interceptor е да отдели помощната логика от основната, да увеличи модулността и повторната употреба на кода.