This week's giveaway is in the Android forum.
We're giving away four copies of Android Security Essentials Live Lessons and have Godfrey Nolan on-line!
See this thread for details.
The moose likes Java in General and the fly likes Spring AOP and Java Refelction Big Moose Saloon
  Search | Java FAQ | Recent Topics | Flagged Topics | Hot Topics | Zero Replies
Register / Login


Win a copy of Android Security Essentials Live Lessons this week in the Android forum!
JavaRanch » Java Forums » Java » Java in General
Bookmark "Spring AOP and Java Refelction" Watch "Spring AOP and Java Refelction" New topic
Author

Spring AOP and Java Refelction

Marutha kasirajan Ramanathan
Greenhorn

Joined: Jul 27, 2011
Posts: 2
Hi,



I have one method which is called using invoke() of the java.lang.reflect.Method class. How to intercept that method using Spring AOP ?

Thanks,
Kasi
Jayesh A Lalwani
Bartender

Joined: Jan 17, 2008
Posts: 2273
    
  28

If your annottated class is built to an interface, Spring AOP internally creates a Java proxy at runtime, and replaces the bean with the proxy bean

So, let's say you had a bean declared like this



this can be considered to be functionally equivalent to



If the bean is annottated with an aspect, you can consider that during initialization time, Spring creates this class



and the beans will be created like this



Please note the above code is for explanation only. Internally what happens is differrent.

So, here's the pitfall.. The proxy class implements only the methods in the interface. So, if you are using reflection on the proxy, you will not get all the methods. You will get only the interface methods. What you need to do is for the non interface methods, you need to get the underlying target object. I haven't done this myself before but I think this will work. You might have to try it. Every AOP proxy implements the org.springframework.aop.framework.Advised interface. This interface has a method to get the targetSource, and you can get the target object.

I think this will work. Maybe there is a better way of doing it.
 
I agree. Here's the link: http://aspose.com/file-tools
 
subject: Spring AOP and Java Refelction
 
Similar Threads
AOP pointcut at CATCH block
AOP
Spring AOP / Spring AOP + AspectJ ?
AOP
Spring Aop