Sobes.tech
Назад к вопросам
Junior — Middle
101

Можешь ли ты назвать и объяснить типы Proxy, используемые в Spring Framework?

Компании, где спрашивали
Brainway LTD

Ответ от нейросети

sobes.tech AI

В Spring Framework используются два основных типа прокси для реализации аспектно-ориентированного программирования (AOP) и других механизмов:

  1. JDK Dynamic Proxy

    • Создаёт прокси на основе интерфейсов.
    • Работает только с объектами, которые реализуют хотя бы один интерфейс.
    • Прокси реализует те же интерфейсы, что и целевой объект.
  2. CGLIB Proxy

    • Создаёт прокси путём наследования от целевого класса.
    • Используется, если у объекта нет интерфейсов или явно указано использовать класс-прокси.
    • Позволяет проксировать классы без интерфейсов.

Spring автоматически выбирает тип прокси: если есть интерфейсы — JDK Proxy, иначе CGLIB.

Пример конфигурации:

@Service
public class MyService {
    public void doWork() {
        // ...
    }
}

При использовании AOP Spring создаст прокси для MyService, выбирая подходящий тип в зависимости от наличия интерфейсов.