digital-garden/knowledge/dev/java/frameworks/spring/Создание прокси-объектов в SpringBoot.md
2024-06-13 21:01:37 +03:00

1.7 KiB
Raw Blame History

aliases tags date zero-link parents linked
зрелость/🌱
2023-11-15
SpringBoot

Механизм создания прокси-объектов в SpringBoot зависит от того, используете вы интерфейсы или нет.

  1. Прокси на основе интерфейсов (JDK Dynamic Proxy): Если ваш компонент Spring (например, @Service или @Component) реализует интерфейс, Spring по умолчанию создает прокси-объект, используя механизм динамических прокси Java (JDK Dynamic Proxy). Это означает, что прокси будет реализовывать тот же интерфейс, что и ваш сервис, и перенаправлять вызовы к реальному объекту сервиса. Этот подход более легковесный и не требует специальной обработки класса.
  2. Прокси на основе классов (CGLIB Proxy): Если ваш компонент не реализует интерфейс, Spring будет использовать библиотеку CGLIB для создания прокси-класса. В этом случае создается подкласс вашего сервиса, и в нем переопределяются все public методы для перенаправления вызовов. Этот подход более тяжеловесный, так как требует создания нового класса во время выполнения программы.