Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/384.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/spring-mvc/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/jquery-ui/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 从接口Spring实现的方法的AOP_Java_Spring Mvc_Spring Aop - Fatal编程技术网

Java 从接口Spring实现的方法的AOP

Java 从接口Spring实现的方法的AOP,java,spring-mvc,spring-aop,Java,Spring Mvc,Spring Aop,我想通过类中的接口对实现的方法执行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(publi

我想通过类中的接口对实现的方法执行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" />
x.y包;
公共类普通类
{
A A;
void executeThis()
{
a、 f1();
}
}
这对我不起作用

如果我有任何错误,请告诉我

谢谢

A objectA=new B();这不是依赖注入。Spring必须创建B并将其注入,例如

...
@Autowired
A a;
...

如果您自己实例化这个类,为什么您认为它应该工作?您是否启用了加载时编织?您根本没有启用任何方面配置。我已将aspectj配置为及其与其他方法一起使用。但不是为了这个,请将所有这些添加到您的问题中。很抱歉,我无法共享(我想)我在stackoverflow上的实际项目代码,而代码的问题是,就xml配置而言,它太大、太旧。