Как совет по контролю ловит исключение - PullRequest
0 голосов
/ 15 октября 2019

Я пытаюсь понять, как ControllerAdvice работает в SpringBoot. Предполагается, что для каждого приложения должен быть один ControllerAdvice. Но мой вопрос в том, как этот ControllerAdvice привязан к контроллерам и перехватывает исключения. Так в основном, что такое нижнее белье?

1 Ответ

0 голосов
/ 15 октября 2019

Spring AOP работает с прокси.

То есть, когда вы annotate класс с любым из AOP annotation spring создаст proxy class на extending вашаннотированный класс и все методы будут переопределены там в прокси-классе.

Таким образом, здесь после того, как вы вызовете method в your class, пружина будет сначала вызывать proxy object method, затем ваш actual method. Это Spring AOP знает, method has been called или thrown some exception или returned successfully и т. Д. И т. Д.

enter image description here

Это причина, по которой вывызов private method с class AOP не может intercept вызвать этот метод.

...