AspectJ in Action
Practical Aspect-Oriented Programming
Second edition of this book is available

Ramnivas Laddad

2003 | 512 pages | B&W
ISBN: 1930110936

Out of Print $44.95 Softbound print + eBook
$35.99 eBook edition (PDF only)


Look Inside Resources Downloads


A software system is the realization of a set of concerns. One of the central premises of object-oriented programming is that each concern should be implemented as a separate module. However, there are certain system-wide concerns, such as logging, security, performance, and so forth, that often need to be addressed in many, if not all of the modules. Consequently, the code to handle these system-wide concerns may be mixed in with the core logic of a huge number of modules, resulting in lower productivity, poor quality, and systems that are hard to evolve.

Aspect-oriented programming overcomes these problems by modularizing the system-wide concerns.

AspectJ enables AOP programming in Java by adding a few new language constructs. By using Java as the base language and creating a final system that is compatible with Java byte code specification, AspectJ passes on all the benefits of Java. The use of Java as the base language also makes AspectJ a relatively easy language to learn.

AspectJ in Action is a practical guide to AOP and AspectJ. The reusable code examples that are provided will enable quick implementation of functionality in your system.

The book is divided into three parts. The first part introduces AOP and AspectJ and will be helpful to developers wanting to learn or advance their knowledge of AspectJ. The second and third parts present examples of everyday situations in which you can use simple and easy AspectJ solutions to implement common system requirements such as logging, policy enforcement, resource pooling, business rules, thread-safety, authentication and authorization, as well as transaction management.



" far the best programming related book I read for a long time. Especially, I enjoyed the structure of the book, which gives someone who has no clue about AOP an idea what it is all about. The examples, are great and there are no logical gaps...suitable for the beginner and expert, covers all AOP relevant topics and drills further down on advanced AOP techniques.
-- a Reader at

"AspectJ in Action by Ramnivas Laddad looks like a very clear and complete treatment of aspects. Like the other books in the "In Action" series from Manning, it is filled with very good diagrams... This book will definitely help."
-- on The Daily Channel

"You know, it's one of these books about technologies you always thought too "ivory tower", too bloated and complex to use and suddenly discover that heeeey this is nice and may prove useful."
-- on JRoller

"...AJIA was exactly what I needed...Fantastic use of diagrams, figures, and annotated code. They solidly add to understanding the content...I found the book to really be excellent from all viewpoints for getting into the subject matter from many angles and diving down very deep into it."
-- A Reader's posting at


Ramnivas Laddad is a Sun Certified Architect of Java Technology. He has worked with object-oriented systems for many years and with aspect-oriented programming for the past three years. He is the author of several articles and papers and co-author of Professional Java XML. His article series on AOP and AspectJ was published in "JavaWorld." He lives in Sunnyvale, California.


Modularizing code into objects cannot be fully achieved in pure OOP. In practice some objects must deal with aspects that are not their main business. A method to modularize aspects and benefit from a clean maintainable result is called aspect-oriented programming. AspectJ is an open-source Java extension and compiler designed for AOP development. Now integrated with Eclipse, NetBeans, JBuilder, and other IDEs, AspectJ v1.1 is ready for the real world.

It is time to move from AOP theory and toy examples to AOP practice and real applications. With this unique book you can make that move. It teaches you AOP concepts, the AspectJ language, and how to develop industrial-strength systems. It shows you examples which you can reuse. It unleashes the true power of AOP through unique patterns of AOP design. When you are done, you will be eager and able to build new systems, and enhance your existing ones, with the help of AOP.

What's Inside

Ramnivas Laddad is an AOP and AspectJ authority. With his writings, he has contributed to the general awareness of AOP and has contributed to features now incorporated in AspectJ Version 1.1. Ramnivas lives in Sunnyvale, California.

"Speaks directly to me as a developer"
- Alan Cameron Wills, fastnloose

"... real solutions to tough problems ..."
- Chris Bartling, Identix, Inc.

"I started reading at 11pm and couldn't stop ... It's a must read for anyone interested in the future of programming."
- Arno Schmidmeier, AspectSoft

"... The only resource that presents AOP concepts and real-world examples in an approachable, readable way."
- Jean Baltus, Metafro-Infosys


"Laddad brings to the professional community a valuable book, to support AOP tutoring and adoption. ...a solid, well-structured introduction to a recent technology. analytical introduction to AOP. It is also a practical reference for moving into aspect-oriented programming. The style is clear, and the prose is readable. Code snippets are provided throughout the text, in correct measure to illustrate examples and provide clarification, and are welcome rather than burdensome. Altogether, this is a well-constructed, well-balanced book that delivers what it promises."
-- Computing Reviews, latest review

"I came across 'Using AspectJ for Authentication and Authorization.' I found it intriguing to be able to write an aspect that applied itself to only to certain methods, letting you selectively pick what methods were locked down for authorization and which were not. All this can be accomplished without the need to repeat your authorization code in each method that needs the interesting solution, especially when you need to tie in the authentication and authorization with a system that is outside your control...I definitely recommend that you check it out..."

"I highly recommend this book to everyone wishing to understand aspect-oriented programming, and to start with the AspectJ language. The book is well organized and self-contained. The illustrative applications, both basic and advanced, convince developers of the power of the AOP paradigm, and encourage them to employ AspectJ in all development phases. This book is to aspect-oriented programming what the gang of four book is to design patterns."
-- Computing Reviews, first review

"...a wonderful job of introducing the new AOP other book succeeded to present the challenges of AOP so well...a very good resource for both people starting to learn AOP and AspectJ and experienced AOP programmers who wish to deepen their knowledge in this new area."

"I have probably read every book about AOP that is out there, since I am a big fan. Although AspectJ in Action isn't the first book on AOP/AspectJ, it is one of the best...I would highly recommend AspectJ in Action for anyone who is interested in AOP. Although the examples all use AspectJ, I don't think you have to be an AspectJ user to get something from this book."

"...I would recommend going with AspectJ in will get the most bang for your buck from Ramnivas' work...The subject-oriented approach in this book lends itself well to future reuse."