条件切入点表达式

问题描述

我想基于数据库中的某些属性启用/禁用方面。我该怎么办?

我也正在使用AspectJ LTW,但是当我尝试在@Pointcut中使用if()时,它会显示警告,但代码可以正常编译。我不想走那条路。另外,我不想将我的Aspect用作组件并使用Conditional属性,因为那样的话,我将不得不从属性文件中选择该属性。 这是我的代码的大致片段。

@Aspect
class A {
  boolean flag = //get value from DB; 
    
  @Pointcut(value = "execution(* com.sample..check(..)) && if())
  public boolean conditional() {
    return flag==true ? true : false;
  }
    
  @Before("conditional()")
  public void doSomething() {
    System.out.println("Hello");
  }
}

aop.xml

<aspectj>
  <aspects>
    <aspect name = "com.sample.aspect.A"/>
    <weaver>
      <include within = "com.sample..*"/>
    </weaver>
  </aspects>
</aspectj>

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)