A guide to aspect-oriented programming and the AspectJ language, this book provides code examples that enable quick implementation of functionality in a system. Thorough introductions to AOP and AspectJ will help developers learn or advance their knowledge of AspectJ. Examples of everyday situations in which AspectJ solutions can be applied, such as logging, policy enforcement, resource pooling, business logic, thread-safety, authentication and authorization, and transaction management are provided. In addition, design patterns and idioms are covered, as is business rule implementation. The latest technologies, such as JEES, JAAS, and log4j, are explained and connected with AspectJ.
I'll recommend this book strongly even if you are not interested in AOP. You'll learn the important concept of 'separation of concern' and it brushes up your OOP code. Same comment on another AOP-related book which title is 'Mastering AspectJ: Aspect-Oriented Programming in Java'
This book is a very clear description of AspectJ. You can learn very quickly from it. For example, within an hour or two, I was able to put together a profiler and profile a program.