aspectJ中的字段读取字段写入访问

时间:2015-01-27 08:39:19

标签: java aop aspectj

我是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(); }

我在编译时遇到错误。我知道这是错的。任何人都可以帮助我了解这是如何工作的。

1 个答案:

答案 0 :(得分:0)

您想要访问私有字段(这是可能的,但从概念上讲是一种气味)。为此,请将您的方面声明为特权:

public privileged aspect FieldAspect { ... }