0
我用java反射和AOP的有限知識來問這個問題。如何在aspectj建議類中獲取參數名稱?
背景:
我使用基於註解建議在我的Java 7應用程序。爲了得到我需要在我的建議中使用的方法參數,我使用了spring EL。見下面的例子: 在第一個例子中,我想使用第二個參數來做我的工作,而在第二個例子中,我使用了一個POJO並且想要使用它的「id」字段。
@MyAnnotation(param = "args[1]")
public void someMethod(int param1, String param2) {
return null;
}
@MyAnnotation(param = "args[0].id")
public void someMethod(SomeObject someObject) {
return null;
}
但是其實我想要的是,讓我的手在我的AOP的參數名稱。所以我可以用@MyAnnotation(param =「param1」)或@MyAnnotation(param =「someObject.id」)來代替。
從我所知道的,你不能使用反射獲取參數名稱。但最近我碰到春天緩存抽象(link),在那裏我看到:
@Cacheable(cacheNames="books", key="#isbn")
public Book findBook(ISBN isbn, boolean checkWarehouse, boolean includeUsed)
有人可以放一些輕這裏,我怎麼能實現類似的行爲。