Встречается на собеседованиях • сегодня

Какой опыт с Spring proxy

Spring Proxy — это механизм создания прокси-объектов для поддержки AOP, транзакций, кэширования и других аспектов.

Типы прокси:

  1. JDK Dynamic Proxy — работает через интерфейсы. Если класс не реализует интерфейс, прокси не создастся.
  2. CGLIB — создаёт прокси через наследование, подходит для классов без интерфейсов.

Пример с транзакциями:

java
@Service
public class UserService {
    @Transactional
    public void saveUser(User user) {
        // Логика сохранения
    }
}

Spring создаст прокси для UserService, чтобы управлять транзакцией.

Нюансы:

  • final методы нельзя проксировать (CGLIB не может переопределить их).
  • Самовызов (this.method()) внутри класса не проходит через прокси.
  • Для ленивой инициализации (@Lazy) также используются прокси.

Как проверить прокси?

java
boolean isProxy = AopUtils.isAopProxy(bean);  
Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

Следующий вопрос

Это единственный вопрос по вашему фильтру

как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы