AspectJ加载时间编织不适用于Spring bean

时间:2014-05-03 13:23:10

标签: spring aspectj load-time-weaving

我面临同样的问题:

AspectJ load time weaving not working on Spring beans

返回'对象'工作正常,但我不知道原因。

我经历过:

http://docs.spring.io/spring/docs/3.0.0.M3/reference/html/ch08s08.html#aop-aj-ltw

但仍然没有线索。

1 个答案:

答案 0 :(得分:2)

正如我对其他主题发表评论。

负载时间编织器,顾名思义,只能在加载类时运行。现在当一个类已经加载时,它就不能再被处理了。

当返回类型是具体类时,它将导致急切地加载该类,它将在加载时weaver注册之前加载并且可以完成它。

当返回类型为Object时,类的加载将延迟到实际需要该类,并且通常这将在加载时间weaver之后注册,以便它可以完成其工作。

您可以通过在运行程序时添加-verbose:class作为参数来简单地验证此行为(就像添加属性一样)。然后,在加载时,您将获得一个广泛的类列表。