SpringAOP切面能不能改变被代理方法的返回类型?
注意,这里的AOP使用的aspectjweaver
<!--AOP核心依赖aspectjweaver-->
<dependency>
<groupId>org.aspectj</groupId>
<artifactId>aspectjweaver</artifactId>
</dependency>
示例代码
AOP 拦截Controller,Controller返回User类型,而拦截器在拦截后,返回Student类型,执行后提示类型不能转换。
如果我们将Student类型继承User类,再次执行,可以看到正常执行。
结论
SpringAOP 切面不能改变被代理的方法的返回类型,只能返回被代理方法的返回类的原类型对象或者其子类。