nDeals with "aspects"
that cross-cut across the code and can be difficult or impossible to modularize with
OOP
nThe most common example given is logging
nCode for doing logging typically must be scattered all
over a system
nWith AOP, you can declare, for example, that a system
should write a log record at
the beginning and end of all method invocations.
nIn Spring, AOP
nuses Dynamic AOP Proxy objects to provide cross-cutting services
nReusable components
nAopalliance support today
nAspectJ support in Spring 1.1