Preface

 

My association with AOP and AspectJ has now lasted more than a decade. I still remember my initial experience with AspectJ around 1998 and more serious exploration in 2002. It felt like a breath of fresh air that finally addressed some of the shortcomings of object-oriented programming. My initial experimentation led me to write an article series in JavaWorld in 2002 and the first edition of this book in 2003. After writing the book, I gave talks at many conferences about facets of AOP and AspectJ, and how to use them with the Spring Framework commonly referred to as Spring. Over the last few years, as a Spring committer, I have been trying to improve Spring-AspectJ integration. While doing this, I have been actively using these technologies on many projects. This book is a reflection of my experience with the technologies, understanding the best ways to explain them, and finding pragmatic ways to adopt them.

A lot has changed since the publication of the first edition of this book. Back then, AspectJ was a new language, Spring had just come out, and alternative languages on the Java platform were far fewer. Now, AspectJ is a 10-year-old language, Spring is the de facto lightweight framework for developing enterprise software, and new languages on the Java platforms are numerous.