Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/308.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java AOP切入点(使用注释)在使用“按功能目录结构包”时记录POJO中除setter和getter之外的所有方法_Java_Aop_Aspectj - Fatal编程技术网

Java AOP切入点(使用注释)在使用“按功能目录结构包”时记录POJO中除setter和getter之外的所有方法

Java AOP切入点(使用注释)在使用“按功能目录结构包”时记录POJO中除setter和getter之外的所有方法,java,aop,aspectj,Java,Aop,Aspectj,我使用AspectJ(AOP)进行日志记录。我有以下包结构: com.company.base com.company.base.common.Result.java (its a POJO containing 3 fields and their setters and getters and implements Serialize) com.company.base.feature1.User.java (its a POJO containing 5 fields and thei

我使用AspectJ(AOP)进行日志记录。我有以下包结构:

com.company.base

com.company.base.common.Result.java
(its a POJO containing 3 fields and their setters and getters and implements Serialize)

com.company.base.feature1.User.java
(its a POJO containing 5 fields and their setters and getters and implements Serialize)

com.company.base.feature2.Customer.java
(its a POJO containing 2 fields and their setters and getters and implements Serialize)
我的要求是: 1) 当从POJO的setter和getter之外的任何类执行任何方法时,记录进入和退出消息 2) 至少应该有一行代码

我使用以下切入点定义,但它也在setters和getter时间调用advision

@Pointcut("execution(* com.company.base..*(..))")
void allMethodExcution() {}

请尽快提出建议。

我想我的问题得到了部分答案(可能不是确切答案)

1] 所有POJO都用
@XmlRootElement
注释,因此我又创建了一个切入点和以下建议

// join points created by following point cuts
@Pointcut("within(@javax...XmlRootElement *)")
public void beanAnnotatedWithSpecificAnnotation()

@Pointcut("execution(* com.company.base..*(..))")
public void allMethods()

// this is advise
@Before("!beanAnnotatedWithSpecificAnnotation() && allMethods()")
public void applyAdvise(JoinPoint jp) {
// TODO: advise code ...
}
2] 但是,如果POJO不包含
@XmlRootElement
,并且只实现
java.io.Serialize
接口,该怎么办