2009-10-13 67 views
2

您好我是AspectJ的新手,我想了解如果使用Aspects创建类的变体 - 我还将创建该类的另一个实例吗?AspectJ问题

+0

这个问题很不清楚,你能否重申一下,更详细地解释你正在做什么? – 2009-10-27 13:26:55

回答

1

我猜测问题是,如果我添加方面会创建一个新的类。

答案是否定的,因为编译时(无论是在编译时还是在运行时使用AspectJ)都会将更改添加到受方面影响的类中,因此不会创建新类,它只是原始类和最终类的字节码是不同的。

0

你是什么意思的变种? 如果您询问AspectJ是否实例化了您班级的副本,则答案为。 AspectJ使用名为proxy的设计模式来拦截对您班级的呼叫。

+0

Spring AOP使用代理。 AspectJ会修改字节码,或者通过编辑修改,或者作为编译的一部分。 – 2009-10-27 13:26:11