我有一个基类,有几个派生类可以扩展它。 我想将我的Spring AOP Aspect仅限制为超类,以便仅为它创建AOP代理,而不是为派生类创建AOP代理。春季AOP - 如何防止派生类被定位
我试图定义切入点如下:
@Pointcut("execution(* com.blah.platform.persistence.generic.GenericDaoImpl.*(..))")
public void withinGenericDao() {}
其中GenericDaoImpl是超类。
我仍然可以看到代理的派生类生成,以及:
2011-11-24 18:00:28,616 ContainerBackgroundProcessor[StandardEngine[Catalina]] DEBUG [JdkDynamicAopProxy] Creating JDK dynamic proxy: target source is SingletonTargetSource for target object [[email protected]]
2011-11-24 18:00:28,638 ContainerBackgroundProcessor[StandardEngine[Catalina]] DEBUG [JdkDynamicAopProxy] Creating JDK dynamic proxy: target source is SingletonTargetSource for target object [[email protected]]
2011-11-24 18:00:28,645 ContainerBackgroundProcessor[StandardEngine[Catalina]] DEBUG [JdkDynamicAopProxy] Creating JDK dynamic proxy: target source is SingletonTargetSource for target object [[email protected]]
2011-11-24 18:00:28,953 ContainerBackgroundProcessor[StandardEngine[Catalina]] DEBUG [JdkDynamicAopProxy] Creating JDK dynamic proxy: target source is SingletonTargetSource for target object [[email protected]]
2011-11-24 18:00:29,030 ContainerBackgroundProcessor[StandardEngine[Catalina]] DEBUG [JdkDynamicAopProxy] Creating JDK dynamic proxy: target source is SingletonTargetSource for target object [[email protected]]
我认为如下这应该仅被定义切入点时发生:
execution(public * com.mycompany.myservice.MyService+.*(..))
任何想法?
是的,这似乎工作。非常感谢! – vladiu