Spring AOP能不能对子类做 父类方法的切点?
多谢高手回复,在线等。。。。
/************************** 问题1 ***********************************/
比如有个类B继承了类A 可没有重写类A的fun方法 那么我能指定他切到类B的这个方法吗? 主要是有很多类继承了类A 但我只想让切面去切到B类上
//父类
public class BaseCls {
public String fun(){
System.out.println("this is BaseCls's fun");
return "BaseCls";
}
}
//子类1
public class ClsA extends BaseCls {
}
//子类2
public class ClsB extends BaseCls {
}
//AOP配置类
//这样写A、B两个类都切到了。
@Before("execution(* com.test.aop.entity.BaseCls.fun())")
public void before_fun(JoinPoint jp){
System.out.println("前置切面运行,当前目标对象为: "+jp.getTarget().getClass());
}
那么如何写才能只为ClsA设置fun()的切面呢?
/************************** 问题2 ***********************************/
<bean id="baseCls" class="com.test.aop.entity.BaseCls" abstract="true"/>
<bean id="clsA" class="com.test.aop.entity.ClsA" scope="prototype"/>
<bean id="clsC" parent="baseCls" scope="prototype"/>
如何写execution(* ???fun()) 才能对映射的clsC设置fun的切点呢?对clsA不要产生影响