繁体   English   中英

从接口Spring实现的方法的AOP

[英]AOP on methods implemented from interface Spring

我想通过类中的接口对实现的方法执行AOP。

接口

package a.b.c;
public interface A
{
    void f1(Object ob);
}

类实施

package a.b.c.d;
public class B implements A
{
    public void f1(Object ob){}
}

忠告

@Component
@Aspect
public class MyOwnAdvice
{
    @Before("execution(public void a.b.c.A+.f1(..))") 
    public void f2()
    {
        System.out.println("MyOwnAdvice.f2()");
    }
}

编辑:很抱歉共享一半的信息。实际的实现是这样的:

package x.y;
public class NormalClass
{
    A a;

    void executeThis()
    {
        a.f1();
    }
}

<bean class="x.y.NormalClass" id="normalClass" >
    <property name="a" ref="b" />
</bean>
<bean class="a.b.c.d.B" id="b" />

它对我不起作用。

如果我有任何错误,请通知我。

谢谢

一个objectA = new B(); 不是依赖注入。 Spring必须创建B并注入它,例如

...
@Autowired
A a;
...

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM