Around注解的执行流程
- 在Spring容器启动时,扫描所有的类,找到标注了@Around注解的方法。
- 根据@Around注解的属性值,解析出切点表达式。
- 根据切点表达式,找到需要被拦截的方法。
- 创建代理对象,将被拦截的方法包装在代理对象中。
- 当调用被拦截的方法时,代理对象会先执行@Around注解的方法,再执行被拦截的方法。
- 在@Around注解的方法中,可以通过ProceedingJoinPoint对象获取被拦截的方法的参数和返回值,可以对其进行修改。
- 如果在@Around注解的方法中抛出异常,被拦截的方法不会执行,异常会被抛出。
- 如果被拦截的方法返回值是void,@Around注解的方法可以返回任何值,但不会对最终结果产生影响。
- 如果被拦截的方法返回值不是void,@Around注解的方法必须返回与被拦截的方法返回值类型相同的值。
原文地址: https://www.cveoy.top/t/topic/bJdw 著作权归作者所有。请勿转载和采集!