ich diese Frage mit meiner begrenzten Kenntnis der Java-Reflexion und AOP.Wie Parameternamen in aspectj Beratung Klasse zu bekommen?
Hintergrund:
Ich verwende Anmerkung basierte Beratung in meiner Java 7-Anwendung. Weiterhin ist den Methodenparameter zu erhalten, die ich in meinem Rat verwenden, muß ich Frühling EL verwenden. Im folgenden sehen Sie Beispiele: Im ersten Beispiel i zweiten Parameter verwenden möchten, meine Arbeit zu tun, während in der zweiten Beispiel, das ich ein POJO bin mit und wollen ihre „id“ Feld verwenden.
@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;
}
Aber was ich will eigentlich ist, meine Hände auf den Parameternamen in meinem AOP zu erhalten. Also das kann ich @MyAnnotation (Param = "param1") oder @MyAnnotation (Param = "someObject.id") stattdessen verwenden.
Von dem, was ich kenne, können Sie Parameternamen nicht erhalten mithilfe von Reflektion. Aber vor kurzem stieß ich auf Frühling Cache Abstraktion (link), wo ich sehe:
@Cacheable(cacheNames="books", key="#isbn")
public Book findBook(ISBN isbn, boolean checkWarehouse, boolean includeUsed)
Kann jemand etwas Licht setzen hier, wie ich ein ähnliches Verhalten erreichen können.