aop中通知的执行顺序
时间: 2023-08-30 13:09:12 浏览: 104
在Spring AOP中,通知的执行顺序是根据AspectJ的优先级规则来确定的。具体来说,有两种情况需要考虑:同一切面中的通知执行顺序和不同切面中的通知执行顺序。在同一切面中,通知的执行顺序是按照它们在代码中的声明顺序来执行的。例如,如果在同一切面中定义了两个前置通知,那么它们将按照它们在代码中的声明顺序依次执行。\[1\]
在不同切面中,通知的执行顺序是根据切面的优先级来确定的。切面的优先级可以通过实现Ordered接口或使用@Order注解来指定。较小的值表示较高的优先级。如果没有指定优先级,默认情况下,切面的优先级是无序的,即执行顺序是不确定的。如果确实需要指定通知的执行顺序,可以将通知重构到不同的切面中,并通过指定切面的优先级来确定执行顺序。\[2\]\[3\]
总结起来,同一切面中的通知执行顺序是按照它们在代码中的声明顺序来执行的,而不同切面中的通知执行顺序是根据切面的优先级来确定的。
#### 引用[.reference_title]
- *1* *3* [【第六章】 AOP 之 6.7 通知顺序 ——跟我学spring3 ](https://blog.csdn.net/jinnianshilongnian/article/details/84158583)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item]
- *2* [Spring Aop的使用和通知注解的执行顺序](https://blog.csdn.net/JemeryShen/article/details/124767665)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item]
[ .reference_list ]
阅读全文