在有或没有Spring的self.method中使用self类是规则吗? 例如,我有
public class MyClass{
private Class1 class1;
private Class2 class2;
private MyClass self;
public void myMethod(){
self.makeThing();
}
public void makeThing(){}
}
那么,为什么不只是制作makeThing()
而是self.makeThing()
呢?
答案 0 :(得分:7)
在Spring的上下文中,如果要触发AOP类,则需要将一个bean注入自身。
class MyClass {
@Resource
MyClass self;
public void doSomething() {
// This will NOT trigger the AOP associated with @SomeAnnotation
this.doSomethingElse();
// This will trigger the AOP associated with @SomeAnnotation
self.doSomethingElse();
}
@SomeAnnotation
public void doSomethingElse() {
...
}
}