我有一个java类,其中包含一些带有setter和getter的字段。像这样:
public class Test{
public String field1;
public String field2;
...
//Setters and Getters
}
我想在执行每个getter方法之前做一些逻辑。实际上我想要一个在调用getter方法之前调用的方法,获取getter方法的返回值,修改它并设置新值(如果可能的话,使用自定义注释不改变getter方法的主体)。例如:
Test test = new Test();
test.setField1("field1");
test.setField2("field2");
现在,我希望当我使用test.getField1()
时,调用一个方法并更改filed1
属性的值。无论如何这样做?
编辑:感谢 Ambrish 和 Kayaman 我意识到我的spring mvc应用程序中的一种可能方式是 AspectJ 。但我的问题是无论如何都要使用自定义注释吗?
答案 0 :(得分:0)
您可以使用AspectJ等AOP库来定义getter方法的切入点。这将允许您在调用方法之前(和之后)执行操作。
答案 1 :(得分:0)
您可以浏览以下选项:
如果您的应用是基于Spring
的第一个选项,AspectJ
,则更好。 Reflection
可以在任何地方使用。