有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

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) 个答案