Java 在没有spring的情况下将AOP切入点组合到AOP.xml中

Java 在没有spring的情况下将AOP切入点组合到AOP.xml中,java,spring,aop,Java,Spring,Aop,下面是我试图创建的方面。我想把两个切入点表达式合并成一个。我已经看到,这可以使用带注释的切入点来完成,但是xml中的相同语法失败了。有人能帮我吗 <aspects> <concrete-aspect name="com.logger.aspect.InjectionLoggerImpl" extends="com.logger.aspect.InjectionLogger"> <pointcut name="log

下面是我试图创建的方面。我想把两个切入点表达式合并成一个。我已经看到,这可以使用带注释的切入点来完成,但是xml中的相同语法失败了。有人能帮我吗

<aspects>
  <concrete-aspect name="com.logger.aspect.InjectionLoggerImpl" 
                   extends="com.logger.aspect.InjectionLogger">
    <pointcut name="loggingInterceptor" 
              expression="execution(* com.*..*.next(..)) || execution(* com.*..*.read(..))"/>
    <pointcut name="methExecInterceptor="some expression"/>
  </concrete-aspect>
</aspects>


使用xml格式的Spring 2.0.x是不可能的:

与@AspectJ样式相比,XML样式在in可以表达的内容方面更为有限:只支持“单例”方面实例化模型,并且不可能组合XML中声明的命名切入点

但是,在Spring 3.0.x中也可以:

当组合切入点子表达式时,XML文档中的“&&”很难使用,因此可以使用关键字“and”、“or”和“not”来代替“&&”、“||”和“!”分别地例如,前面的切入点最好写为:


即将发布几乎完全相同的问题。你找到解决方案了吗?我已经有一段时间没有解决这个问题了,但我相信我的IDE中有一个缓存值。一旦我关闭并重新启动IDE,它就可以正常工作,没有任何更改。
<aop:config>
   <aop:aspect id="myAspect" ref="aBean">

    <aop:pointcut id="businessService" 
      expression="execution(* com.xyz.myapp.service.*.*(..)) and this(service)"/>
    <aop:before pointcut-ref="businessService" method="monitor"/>
   ...

    </aop:aspect>
</aop:config>