title: What is AspectJ good for?
body: <p>First let me note, that I use AspectJ and I like it, but what else can I do with it.</p>
  
  <p>I know AspectJ can be/is used for Logging. In some cases it is used for Transaction controlling – mostly implemented in conjunction with annotations.
  AspectJ can also be used to enhance classes with (code-generated) methods, like Spring Roo does.</p>
  
  <p>But I believe AspectJ and AOP in general, can be used for more than: logging, transaction controlling, and simulation partial classes. </p>
  
  <p><strong>So what are other useful use cases for AspectJ and AOP?</strong></p>