aop是面向方面编程的意思。我们采用面向对象的思想,对实体和业务逻辑进行了封装,得到具有属性和方法的对象。Aop中,方面的意思是,在业务处理中,在一个或多个业务模块中会遇到共同的非业务性的功能需求,比如,记录日志、事务管理、权限验证等,这些需求就叫做方面。

AOP就是对这些方面进行提取,使得这些操作与需求的业务分离,而利用AOP(利用代理技术和反射)将贯穿在各个模块中的横切关注点(上文中的方面)自动耦合到各个业务对象中。

我用到的最多的AOP就是spring中采用AOP进行事务管理。