As most of you know, one of the big improvements in Spring 2.0 is the addition of the AspectJ pointcut language and better integration with AspectJ in general. While I think everyone believes that this will be a great benefit in the long run, it has led to some issues. We’ve found that there are certain behaviors that Spring AOP has always done, that AspectJ has never done.
One of the big issues that cropped up was the behavior of Before advice. If you’ve used Spring AOP in Spring 1.x you probably know that Spring allows you to change argument values before they are passed to the target method. What you may not know is that AspectJ has never allowed this behavior.