使用ProxyFactoryBean的代理为什么不能执行代理的方法

//定义接口
public interface Model {
public void show();
}

//定义被代理的类
public class Person implements Model{

public void show() {
    System.out.println("处理日常的活动");
}

}

//代理类,使用环绕通知
public class LogginArround implements MethodInterceptor{
protected static final Log log = LogFactory.getLog(MethodBeforeAdvice.class);

public Object invoke(MethodInvocation arg0) throws Throwable {
    System.out.println("开始审核数据");
    Object rval = arg0.proceed();
    System.out.println("数据审核结束");
    return rval;
}

}


<bean id="personBean" class="org.springframework.aop.framework.ProxyFactoryBean">
    <property name="proxyInterfaces">
        <value>com.oak.pojo.Model</value>
    </property>
    <property name="target">
        <ref local="person"/>
    </property>
    <property name="interceptorNames">
        <list>
            <value>logginArroundAdvisor</value>
        </list>
    </property>
</bean>
<bean id="logginArroundAdvisor" class="org.springframework.aop.support.RegexpMethodPointcutAdvisor">
    <property name="advice">
        <ref local="logginArround"/>
    </property>
    <property name="pattern">
        <value>.*</value>
    </property>
</bean>

//测试程序
public class Main {
public static void main(String[] args){
@SuppressWarnings("resource")
ApplicationContext app = new ClassPathXmlApplicationContext("applicationContext.xml");
Person person = (Person) app.getBean("person");
person.show();
}
}

结果只执行“处理日常的活动”,并不会执行代理的方法,这是什么原因,是jar包的问题么???求解

由于目前金币有限,所以不进行不进行选上了,大家见谅。

1个回答

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问