2015-11-04 67 views
2

我只是想了解关于Spring AOP的建议ordering.In的文档的东西,它说多的建议同样的方法执行的切入点 - Spring AOP的

当以同样的角度定义的两点建议两者都需要在同一个连接点上运行,因此订单未定义(,因为无法通过反射为javac编译类检索声明订单)。考虑将这些通知方法分解为每个方面类中每个连接点的一个通知方法,或者将通知重构为单独的方面类 - 可以在方面级别进行排序。

我得到的,我们不能在一个Aspect.I定义相同的切入点多个建议只是想了解它的意思没有办法找回通过用于javac编译的类反射的声明顺序? 。

我已经把@Order标注上相同的切入点多次建议在一个方面,并明确规定从1订单3.为什么它时,它通过反射读取@Order的看点类注释不能得到这个数字顺序值和请按正确的顺序正确地调用建议?任何机构可以让我明白这一点。很多预先提供的感谢

回答

1

这意味着,如果没有明确指定,订单是未定义的。 @Order注释具有运行时保留:

@Retention(value=RUNTIME) 
@Target(value={TYPE,METHOD,FIELD}) 
public @interface Order 

而且它可以通过反射阅读顺序。