我是aspectJ的新手。我想了解字段读取访问和字段写入访问切入点。假设我有一个私有静态字符串变量" name"在我的班级" Field"。
private static String name;
我需要在读取名称时分配一个值,并在设置时抛出异常。
下面是aspectJ代码。
package main.java.testaop.field;
public aspect FieldAspect {
pointcut getName() : get(private static String Field.name);
pointcut setName() : set(private static String Field.name);
before() : getName() {
"john";}
before() : setName() {
throw new Exception(); }
我在编译时遇到错误。我知道这是错的。任何人都可以帮助我了解这是如何工作的。
答案 0 :(得分:0)
您想要访问私有字段(这是可能的,但从概念上讲是一种气味)。为此,请将您的方面声明为特权:
public privileged aspect FieldAspect { ... }