Назад к вопросам
Junior — Middle
101
Можешь ли ты назвать и объяснить типы Proxy, используемые в Spring Framework?
Компании, где спрашивали
Brainway LTD
Ответ от нейросети
sobes.tech AI
В Spring Framework используются два основных типа прокси для реализации аспектно-ориентированного программирования (AOP) и других механизмов:
-
JDK Dynamic Proxy
- Создаёт прокси на основе интерфейсов.
- Работает только с объектами, которые реализуют хотя бы один интерфейс.
- Прокси реализует те же интерфейсы, что и целевой объект.
-
CGLIB Proxy
- Создаёт прокси путём наследования от целевого класса.
- Используется, если у объекта нет интерфейсов или явно указано использовать класс-прокси.
- Позволяет проксировать классы без интерфейсов.
Spring автоматически выбирает тип прокси: если есть интерфейсы — JDK Proxy, иначе CGLIB.
Пример конфигурации:
@Service
public class MyService {
public void doWork() {
// ...
}
}
При использовании AOP Spring создаст прокси для MyService, выбирая подходящий тип в зависимости от наличия интерфейсов.