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

Как реализуется Proxy в Spring

В Spring Proxy используется для добавления дополнительной логики (например, транзакций, безопасности, кэширования) к методам класса. Реализуется через два механизма:

  1. JDK Dynamic Proxy (по умолчанию) – создается на основе интерфейсов. Работает, если класс реализует хотя бы один интерфейс.
  1. CGLIB Proxy – используется, если класс не реализует интерфейсы. Создает подкласс целевого класса.

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

java
@Service
public class UserService {
    @Transactional
    public void createUser(User user) {
        // бизнес-логика
    }
}

Spring создаст прокси для UserService, который перед вызовом createUser() откроет транзакцию, а после – закроет.

Для принудительного использования CGLIB:

java
@Configuration
@EnableTransactionManagement(proxyTargetClass = true)
public class AppConfig { ... }
Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

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

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

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