Що таке динамічний проксі Java?

Динамічний проксі-клас — це клас, який реалізує список інтерфейсів, визначених під час виконання, таким чином, що виклик методу через один із інтерфейсів екземпляра класу буде закодований і відправлений до іншого об’єкта через єдиний інтерфейс.

Проксі, у своїй найзагальнішій формі, — це клас, що функціонує як інтерфейс до чогось іншого. Якщо говорити непрофесіоналом, то проксі-клас у java є таким клас, який делегує відповідальність «замість» або «від імені» іншого класу. Об’єкт, який імітує проксі, називається об’єктом реалізації.

Статичні проксі мають високу стабільність і надійність і підходять для сценаріїв, які вимагають тривалої стабільної роботи; динамічні проксі-сервери мають кращу гнучкість і приховування, а також підходять для сценаріїв, які мають справу з високою рівномірністю та великомасштабним доступом.

Проксі-сервер у Spring AOP можна створити двома способами: JDK-проксі (динамічний проксі): Проксі-сервер JDK створює новий проксі-об’єкт, реалізуючи інтерфейси цільового об’єкта та делегуючи виклики методів. CGLIB proxy: CGLIB proxy створює новий проксі-об’єкт, розширюючи цільовий об’єкт і делегуючи виклики методів.

Шаблон проксі дозволяє виконувати певну логіку до або після виклику вихідного об'єкта. Після додавання анотації @Cacheable spring створює новий клас проксі-сервера кешування. Цей клас відповідатиме за додавання поведінки кешування та використовуватиметься для впровадження залежностей.

Динамічний проксі-клас — це клас, який реалізує список інтерфейсів, визначених під час виконання, таким чином, що виклик методу через один із інтерфейсів екземпляра класу буде закодований і відправлений до іншого об’єкта через єдиний інтерфейс.

Оцініть статтю