Как Spring AO Proxy объект знает, какой совет вызвать - PullRequest
0 голосов
/ 26 ноября 2018

I kbow Объект Proxy расширяет целевой класс и переопределяет не финальные методы.Мой вопрос заключается в том, что когда прокси-объект переопределяет целевой метод, какой дополнительный код он добавляет к целевому методу, который дает рекомендации для вызова?А как прокси знает, когда звонить совету, до, после и т. Д.

1 Ответ

0 голосов
/ 26 ноября 2018

То, что вы спрашиваете, является слишком широким, поскольку используемый код довольно сложен.

Я не уверен, почему вы хотите знать точные детали реализации, но в качестве отправной точки вы должны проверить, как SpringAOP работает: https://docs.spring.io/spring/docs/5.1.x/spring-framework-reference/core.html#aop

Spring реализует проксирование с использованием CGLIB или JDK в зависимости от ситуации (то есть: если вы реализуете свои bean-компоненты с использованием интерфейсов, Spring попытается использовать JDK).Вы можете проверить механизмы прокси здесь: https://docs.spring.io/spring/docs/5.1.x/spring-framework-reference/core.html#aop-proxying

Оттуда вы можете искать библиотеки и проверять код, используемый для прокси.

Надеюсь, это послужит вам отправной точкой для вашегоReasearch.

...