使用ProxyFactoryBean的Spring AOP不起作用

时间:2016-10-04 10:18:05

标签: java spring-mvc aop

请找到如下的课程结构,并帮助找到此处缺少的内容。 无法获得之前方法中提到的SOP。

public class HijackBeforeMethod implements MethodBeforeAdvice {
@Override
public void before(Method arg0, Object[] arg1, Object arg2) throws Throwable {
    System.out.println("BEFORE METHOD CALL : additional concern before actual logic");
    System.out.println("Method : " + arg0);

}
}

主要课程如下

@RestController
public class A {

 @Autowired
 Dao b;
 ...
 b.print(); //This should call the before method
}

Dao课程如下

Public class DaoImpl implements Dao{
 @Autowired
 Datasource ds
 public void print(){
 .....
 }
}

rest-servlet.xml上下文文件条目如下

 <bean id="hijackBeforeMethodBean" class="com.scb.cadm.aop.HijackBeforeMethod" />
  <bean id="b" class="DaoImpl"></bean>
  <bean id="proxy" class="org.springframework.aop.framework.ProxyFactoryBean">/>
     <property name="target" ref="b"></property>
     <property name="interceptorNames">
         <list>
            <value>hijackBeforeMethodBean</value>
         </list>
     </property>
 </bean>

1 个答案:

答案 0 :(得分:0)

我发现了这个问题.. 代替      @Autowired       道b; 我使用了代理bean       @Autowired       道代理;