Java:Spring AOP与重构
所以我开始进入春季AOP,我突然想到了一件事。配置方面时,注释都使用字符串作为参数,而不是类对象
我之所以提出这个问题,是因为这意味着IDE(我使用Eclipse,所以我在这里只参考它)无法正确重构方面。因此,如果我有一个类MyClass,带有一个public void foo()方法,Spring AOP注释的一个例子如下:
@Before ("execution(public void package.MyClass.foo())")
因为注释中的参数是一个字符串,如果我将方法名重构为public void foo2(),它将破坏这个方面的绑定
我一直在浏览各种论坛和教程,但我到处都能看到字符串参数,这表明这是这里唯一的选择。我想你可以通过在如何声明绑定方面更一般一些来解决这个问题:
@Before ("exeuction(public void package.MyClass.set*(..))")
这个新方法将适用于MyClass中的任何setter方法,具有任意数量的参数(或没有参数)。当然,像这样含糊其辞可能不会一直奏效
不管怎样,我在这里有点咆哮,已经很晚了,我有点累了,我的大脑在寻找答案时已经精疲力竭了。但我的最后一个问题是:有没有办法设置Spring AOP注释,这样重构就会影响它们
谢谢
共 (0) 个答案