JAVA_IIBRARY Telegram 1780
Ваша бизнес-логика должна быть чистой. Но сквозные задачи, такие как логирование и безопасность, быстро её загромождают.

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

Вот как:

Spring AOP (аспектно-ориентированное программирование) позволяет отделить сквозные задачи —> логирование, транзакции, безопасность от бизнес-логики.

Aspect = задача/область заботы
Advice = действие (@Before, @AfterReturning, @AfterThrowing, @After, @Around)
Pointcut = место применения

Spring AOP использует прокси-базированное runtime-вплетение (JDK-прокси или CGLIB), чтобы перехватывать вызовы методов на Spring-бинах и применять advice.

Ключевые моменты:

• Join points это только выполнения методов
• Вызовы через this.foo() обходят advice
• Финальные/приватные методы и классы часто не поддаются советам

Для полной функциональности, такой как перехват полей или конструкторов, используйте AspectJ weaving.
В Spring Boot добавьте spring-boot-starter-aop или включите через @EnableAspectJAutoProxy.

Результат → более чистый и поддерживаемый код, при этом повторяющиеся задачи остаются консистентными.

👉 Java Portal
Please open Telegram to view this post
VIEW IN TELEGRAM
👍52



tgoop.com/Java_Iibrary/1780
Create:
Last Update:

Ваша бизнес-логика должна быть чистой. Но сквозные задачи, такие как логирование и безопасность, быстро её загромождают.

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

Вот как:

Spring AOP (аспектно-ориентированное программирование) позволяет отделить сквозные задачи —> логирование, транзакции, безопасность от бизнес-логики.

Aspect = задача/область заботы
Advice = действие (@Before, @AfterReturning, @AfterThrowing, @After, @Around)
Pointcut = место применения

Spring AOP использует прокси-базированное runtime-вплетение (JDK-прокси или CGLIB), чтобы перехватывать вызовы методов на Spring-бинах и применять advice.

Ключевые моменты:

• Join points это только выполнения методов
• Вызовы через this.foo() обходят advice
• Финальные/приватные методы и классы часто не поддаются советам

Для полной функциональности, такой как перехват полей или конструкторов, используйте AspectJ weaving.
В Spring Boot добавьте spring-boot-starter-aop или включите через @EnableAspectJAutoProxy.

Результат → более чистый и поддерживаемый код, при этом повторяющиеся задачи остаются консистентными.

👉 Java Portal

BY Java Portal | Программирование




Share with your friend now:
tgoop.com/Java_Iibrary/1780

View MORE
Open in Telegram


Telegram News

Date: |

Add up to 50 administrators But a Telegram statement also said: "Any requests related to political censorship or limiting human rights such as the rights to free speech or assembly are not and will not be considered." Public channels are public to the internet, regardless of whether or not they are subscribed. A public channel is displayed in search results and has a short address (link). Don’t publish new content at nighttime. Since not all users disable notifications for the night, you risk inadvertently disturbing them. Users are more open to new information on workdays rather than weekends.
from us


Telegram Java Portal | Программирование
FROM American