In this chapter, we introduced the core concepts of AOP and then looked at how these concepts translate into the Spring AOP implementation. We discussed the features that are and are not implemented in Spring AOP and we pointed to AspectJ as an AOP solution for those features Spring does not implement. We spent some time explaining the details of the advice types available in Spring, and you have seen examples of the four types in action. We also looked at how you limit the methods to which an advice applies using pointcuts. In particular, we looked at the five basic pointcut implementations available with Spring. Finally, we covered the details of how the AOP proxies are constructed, the different options, and what makes them different. We concluded the discussion of proxies with a comparison of the performance between three different proxy types and we concluded that the CGLIB proxy performs the best and is suitable for most, if not all, the proxies you will use.
In Chapter 7 finishes with a look at how we used AOP in the sample application to solve a real problem encountered during its development.