it says Spring AOP only advices public joint point
- I would suspect that will be correct, if its a quote from a book written by one of the actual spring framework developers.
The reason behind this may be (note the language - I'm not 100% sure of this) due to the way in which spring uses dynamic run time proxies to implement AOP features. Would a proxy object then have the visibility to a class defined with protected (or default) access, I assume that it would not. Here's the relevant section from the
Spring AOP documentation.
My advise would be to look into AspectJ.