Яка альтернатива AspectJ?

Він не призначений як повне рішення AOP – його можна застосовувати лише до bean-компонентів, якими керує контейнер Spring. AspectJ — це оригінальна технологія АОП, яка має на меті забезпечити повне рішення АОП. Він використовує плетіння під час виконання.

Якщо вам потрібно повідомити об’єкти, якими не керує контейнер Spring (як правило, об’єкти домену), вам потрібно використовувати AspectJ. Вам також потрібно використовувати AspectJ, якщо ви бажаєте порадити точки з’єднання, відмінні від виконання простих методів (наприклад, поля отримати або встановити точки з’єднання тощо).

Компілятор AspectJ потребує JDK 17+ під час збирання. Під час виконання AspectJ все ще вимагає лише Java 8+ як для компіляції, так і для переплетення під час завантаження. Чистий код Java можна скомпілювати до старого рівня коду 1,3 байта.

З іншого боку, AspectJ вплітає аспекти в основний код перед виконанням програми, тому немає додаткових витрат на час виконання, на відміну від Spring AOP. З цих причин тести показують, що AspectJ є майже в 8-35 разів швидше, ніж Spring AOP.

Він досі використовується в основному для реєстрації та відкриття/закриття перекладів бази даних кількома фреймворками Java (Весна, наприклад, Ру). Проблема з AOP полягає в тому, що якщо ви зловживаєте ним, вашу програму буде важко підтримувати.

Related Post

Яка вартість пересадки волосся 1 трансплантат?Яка вартість пересадки волосся 1 трансплантат?

В Америці ціни коливаються від Від 2 до 10 доларів на трансплантат FUT. У середньому повна вартість пересадки волосся FUT, імовірно, коштуватиме від 12 000 доларів США. 1 січня 2023

Що сталося 19 червня 2012 року?Що сталося 19 червня 2012 року?

Десятки тисяч людей збираються на площі Тахрір у Каїрі, щоб протестувати проти військових правителів Єгипту, які захопили владу після усунення від влади Хосні Мубарака під час минулорічної революції. (Аль-Джазіра) (BBC)