Java 如何在春季启用功能齐全的aspectj

Java 如何在春季启用功能齐全的aspectj,java,spring,aspectj,spring-aop,pointcuts,Java,Spring,Aspectj,Spring Aop,Pointcuts,如何使spring项目中功能齐全的aspectj能够使用条件切入点 现在我在配置文件中有: <beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:context="http://www.springframework.org/schema/context" xmlns:task="http://

如何使spring项目中功能齐全的aspectj能够使用条件切入点

现在我在配置文件中有:

 <beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
   xmlns:context="http://www.springframework.org/schema/context"
   xmlns:task="http://www.springframework.org/schema/task" xmlns:aop="http://www.springframework.org/schema/aop"
   xsi:schemaLocation="
    http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd
    http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context.xsd
    http://www.springframework.org/schema/task http://www.springframework.org/schema/task/spring-task.xsd
    http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop.xsd">
有一个编译异常,表示: 切入点表达式“execution(public**(..)&&if()”包含不支持的切入点原语“if” 基本上是因为有弹簧AOP动作,而不是Aspecj


那么我如何使用aspectj AOP而不是Spring AOP呢?

如果是编译(即在编译代码期间),那么它与Spring AOP无关,而是使用不支持此功能的aspectj版本,如果是在启动期间,那是因为您确实使用了基于Springs代理的AOP机制。删除
,因为顾名思义,它使用代理。改为使用
,或者将项目配置为使用编译时编织,并在编译时编织方面。好的,替换为,但现在我有一个编译验证问题匹配的通配符是严格的,但找不到元素上下文的声明:加载时编织…键入。应该是
load time weaver
。我需要spring instrument,对吗?这取决于您的环境。如果是编译(即在编译代码期间),则与spring AOP无关,而是使用不支持此功能的AspectJ版本,如果是在启动期间,那是因为您确实使用了基于Springs代理的AOP机制。删除
,因为顾名思义,它使用代理。改为使用
,或者将项目配置为使用编译时编织,并在编译时编织方面。好的,替换为,但现在我有一个编译验证问题匹配的通配符是严格的,但找不到元素上下文的声明:加载时编织…键入。应该是
load time weaver
。我需要弹簧工具,对吗?这取决于您的环境。
  <aop:aspectj-autoproxy />
    @Pointcut(value = "execution(public * *(..)) && if() ")
    public static boolean  anyPrivateMethod() {
     return enabled>0;
    }