Встречается на собеседованиях • сегодня
Что такое CGLib
CGLib (Code Generation Library) — это библиотека для генерации динамических прокси-классов во время выполнения, используемая в Java для работы с классами, а не интерфейсами (в отличие от стандартного Proxy из JDK). Она применяется в фреймворках, таких как Spring, для AOP, транзакций и других задач.
Особенности:
- Работает через наследование: создает подкласс целевого класса.
- Не требует интерфейсов.
- Может перехватывать вызовы методов, даже
final(но сам класс не должен бытьfinal).
Пример:
java
Enhancer enhancer = new Enhancer();
enhancer.setSuperclass(TargetClass.class);
enhancer.setCallback((MethodInterceptor) (obj, method, args, proxy) -> {
System.out.println("Before method: " + method.getName());
Object result = proxy.invokeSuper(obj, args);
System.out.println("After method: " + method.getName());
return result;
});
TargetClass proxy = (TargetClass) enhancer.create();
proxy.someMethod(); // Будет перехвачен
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
офферы быстрее!
Попробовать бесплатно
Следующий вопрос
Это единственный вопрос по вашему фильтру
как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы